From 1afd4369863e8be6d6b38a958e38338ea2c8ad8c Mon Sep 17 00:00:00 2001 From: Dmitry Dygalo Date: Mon, 1 Jan 2024 17:43:04 +0100 Subject: [PATCH] feat: Non-blocking stylesheet resolving --- CHANGELOG.md | 1 + README.md | 42 +- bindings/c/Cargo.toml | 2 +- bindings/c/src/lib.rs | 5 +- bindings/javascript/Cargo.toml | 2 +- bindings/javascript/src/lib.rs | 2 +- bindings/javascript/src/options.rs | 6 +- bindings/javascript/wasm/index.js | 30 +- bindings/javascript/wasm/index.min.js | 4 +- bindings/javascript/wasm/index.mjs | 30 +- bindings/javascript/wasm/index_bg.wasm | Bin 790778 -> 791580 bytes bindings/python/Cargo.toml | 2 +- bindings/python/src/lib.rs | 10 +- bindings/ruby/ext/css_inline/Cargo.toml | 2 +- bindings/ruby/ext/css_inline/src/lib.rs | 14 +- css-inline/Cargo.toml | 7 +- css-inline/benches/inliner.rs | 2 +- css-inline/src/error.rs | 6 +- css-inline/src/lib.rs | 572 ++++++++++++++---------- css-inline/src/main.rs | 5 +- css-inline/src/resolver.rs | 86 +++- css-inline/tests/test_inlining.rs | 213 ++++----- css-inline/tests/test_selectors.rs | 168 +++---- css-inline/tests/utils.rs | 2 +- profiler/src/main.rs | 2 +- 25 files changed, 705 insertions(+), 510 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4688d7d9..cdf15f22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Added - A way to customize resolving remote stylesheets. +- Non-blocking stylesheet resolving by default. ### Changed diff --git a/README.md b/README.md index 10325964..746db8c7 100644 --- a/README.md +++ b/README.md @@ -70,8 +70,21 @@ const HTML: &str = r#" "#; +#[tokio::main] +async fn main() -> css_inline::Result<()> { + let inlined = css_inline::inline(HTML).await?; + // Do something with inlined HTML, e.g. send an email + Ok(()) +} +``` + +There is also a "blocking" API for inlining: + +```rust +const HTML: &str = "..."; + fn main() -> css_inline::Result<()> { - let inlined = css_inline::inline(HTML)?; + let inlined = css_inline::blocking::inline(HTML)?; // Do something with inlined HTML, e.g. send an email Ok(()) } @@ -84,11 +97,12 @@ fn main() -> css_inline::Result<()> { ```rust const HTML: &str = "..."; -fn main() -> css_inline::Result<()> { +#[tokio::main] +async fn main() -> css_inline::Result<()> { let inliner = css_inline::CSSInliner::options() .load_remote_stylesheets(false) .build(); - let inlined = inliner.inline(HTML)?; + let inlined = inliner.inline(HTML).await?; // Do something with inlined HTML, e.g. send an email Ok(()) } @@ -131,12 +145,28 @@ If you'd like to load stylesheets from your filesystem, use the `file://` scheme ```rust const HTML: &str = "..."; -fn main() -> css_inline::Result<()> { +#[tokio::main] +async fn main() -> css_inline::Result<()> { let base_url = css_inline::Url::parse("file://styles/email/").expect("Invalid URL"); let inliner = css_inline::CSSInliner::options() .base_url(Some(base_url)) .build(); - let inlined = inliner.inline(HTML); + let inlined = inliner.inline(HTML).await?; + // Do something with inlined HTML, e.g. send an email + Ok(()) +} +``` + +The blocking version is available as well: + +```rust +const HTML: &str = "..."; + +fn main() -> css_inline::Result<()> { + let inliner = css_inline::blocking::CSSInliner::options() + .load_remote_stylesheets(false) + .build(); + let inlined = inliner.inline(HTML)?; // Do something with inlined HTML, e.g. send an email Ok(()) } @@ -149,7 +179,7 @@ For resolving remote stylesheets it is possible to implement a custom resolver: pub struct CustomStylesheetResolver; impl css_inline::StylesheetResolver for CustomStylesheetResolver { - fn retrieve(&self, location: &str) -> css_inline::Result { + fn retrieve_blocking(&self, location: &str) -> css_inline::Result { Err(self.unsupported("External stylesheets are not supported")) } } diff --git a/bindings/c/Cargo.toml b/bindings/c/Cargo.toml index 4d012086..f087d814 100644 --- a/bindings/c/Cargo.toml +++ b/bindings/c/Cargo.toml @@ -18,4 +18,4 @@ cbindgen = "0.26" path = "../../css-inline" version = "*" default-features = false -features = ["http", "file"] +features = ["http-blocking", "file"] diff --git a/bindings/c/src/lib.rs b/bindings/c/src/lib.rs index b40a5fde..490fbc60 100644 --- a/bindings/c/src/lib.rs +++ b/bindings/c/src/lib.rs @@ -1,4 +1,7 @@ -use css_inline::{CSSInliner, DefaultStylesheetResolver, InlineError, InlineOptions, Url}; +use css_inline::{ + blocking::{CSSInliner, InlineOptions}, + DefaultStylesheetResolver, InlineError, Url, +}; use libc::{c_char, size_t}; use std::{borrow::Cow, cmp, ffi::CStr, io::Write, ptr, sync::Arc}; diff --git a/bindings/javascript/Cargo.toml b/bindings/javascript/Cargo.toml index fbb0e945..fa109511 100644 --- a/bindings/javascript/Cargo.toml +++ b/bindings/javascript/Cargo.toml @@ -32,7 +32,7 @@ serde = { version = "1", features = ["derive"], default-features = false } path = "../../css-inline" version = "*" default-features = false -features = ["http", "file"] +features = ["http-blocking", "file"] [target.'cfg(target_arch = "wasm32")'.dependencies.css-inline] path = "../../css-inline" diff --git a/bindings/javascript/src/lib.rs b/bindings/javascript/src/lib.rs index d96e95d8..987853ea 100644 --- a/bindings/javascript/src/lib.rs +++ b/bindings/javascript/src/lib.rs @@ -60,6 +60,6 @@ export function inline(html: string, options?: InlineOptions): string; export function version(): string;"#; fn inline_inner(html: String, options: Options) -> std::result::Result { - let inliner = css_inline::CSSInliner::new(options.try_into()?); + let inliner = css_inline::blocking::CSSInliner::new(options.try_into()?); Ok(inliner.inline(&html).map_err(errors::InlineError)?) } diff --git a/bindings/javascript/src/options.rs b/bindings/javascript/src/options.rs index 2691df49..a07c57a9 100644 --- a/bindings/javascript/src/options.rs +++ b/bindings/javascript/src/options.rs @@ -42,11 +42,11 @@ pub struct Options { pub preallocate_node_capacity: Option, } -impl TryFrom for css_inline::InlineOptions<'_> { +impl TryFrom for css_inline::blocking::InlineOptions<'_> { type Error = JsError; fn try_from(value: Options) -> std::result::Result { - Ok(css_inline::InlineOptions { + Ok(css_inline::blocking::InlineOptions { inline_style_tags: value.inline_style_tags.unwrap_or(true), keep_style_tags: value.keep_style_tags.unwrap_or(false), keep_link_tags: value.keep_link_tags.unwrap_or(false), @@ -75,7 +75,7 @@ impl TryFrom for css_inline::InlineOptions<'_> { pub struct UnsupportedResolver; impl css_inline::StylesheetResolver for UnsupportedResolver { - fn retrieve(&self, location: &str) -> css_inline::Result { + fn retrieve_blocking(&self, location: &str) -> css_inline::Result { let message = if location.starts_with("https") | location.starts_with("http") { diff --git a/bindings/javascript/wasm/index.js b/bindings/javascript/wasm/index.js index a1d5a90c..5e3c0a2e 100644 --- a/bindings/javascript/wasm/index.js +++ b/bindings/javascript/wasm/index.js @@ -33,6 +33,18 @@ heap.push(void 0, null, true, false); function getObject(idx) { return heap[idx]; } +var heap_next = heap.length; +function dropObject(idx) { + if (idx < 132) + return; + heap[idx] = heap_next; + heap_next = idx; +} +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} var WASM_VECTOR_LEN = 0; var cachedUint8Memory0 = null; function getUint8Memory0() { @@ -104,7 +116,6 @@ function getStringFromWasm0(ptr, len) { ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } -var heap_next = heap.length; function addHeapObject(obj) { if (heap_next === heap.length) heap.push(heap.length + 1); @@ -113,17 +124,6 @@ function addHeapObject(obj) { heap[idx] = obj; return idx; } -function dropObject(idx) { - if (idx < 132) - return; - heap[idx] = heap_next; - heap_next = idx; -} -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} var cachedFloat64Memory0 = null; function getFloat64Memory0() { if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { @@ -261,6 +261,9 @@ function __wbg_get_imports() { const ret = getObject(arg0) === void 0; return ret; }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; imports.wbg.__wbindgen_string_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; @@ -303,9 +306,6 @@ function __wbg_get_imports() { const ret = +getObject(arg0); return ret; }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; imports.wbg.__wbg_length_1d25fa9e4ac21ce7 = function(arg0) { const ret = getObject(arg0).length; return ret; diff --git a/bindings/javascript/wasm/index.min.js b/bindings/javascript/wasm/index.min.js index eaf8dad1..a440b878 100644 --- a/bindings/javascript/wasm/index.min.js +++ b/bindings/javascript/wasm/index.min.js @@ -1,2 +1,2 @@ -"use strict";var cssInline=(()=>{var S=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var B=(e,n)=>{for(var t in n)S(e,t,{get:n[t],enumerable:!0})},q=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of D(n))!N.call(e,i)&&i!==t&&S(e,i,{get:()=>n[i],enumerable:!(r=$(n,i))||r.enumerable});return e};var z=e=>q(S({},"__esModule",{value:!0}),e);var Y={};B(Y,{initWasm:()=>K,inline:()=>Q,version:()=>X});var c,b=new Array(128).fill(void 0);b.push(void 0,null,!0,!1);function o(e){return b[e]}var h=0,g=null;function A(){return(g===null||g.byteLength===0)&&(g=new Uint8Array(c.memory.buffer)),g}var I=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},C=typeof I.encodeInto=="function"?function(e,n){return I.encodeInto(e,n)}:function(e,n){let t=I.encode(e);return n.set(t),{read:e.length,written:t.length}};function W(e,n,t){if(t===void 0){let _=I.encode(e),a=n(_.length,1)>>>0;return A().subarray(a,a+_.length).set(_),h=_.length,a}let r=e.length,i=n(r,1)>>>0,f=A(),s=0;for(;s127)break;f[i+s]=_}if(s!==r){s!==0&&(e=e.slice(s)),i=t(i,r,r=s+e.length*3,1)>>>0;let _=A().subarray(i+s,i+r),a=C(e,_);s+=a.written}return h=s,i}function j(e){return e==null}var w=null;function u(){return(w===null||w.byteLength===0)&&(w=new Int32Array(c.memory.buffer)),w}var M=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&M.decode();function m(e,n){return e=e>>>0,M.decode(A().subarray(e,e+n))}var p=b.length;function l(e){p===b.length&&b.push(b.length+1);let n=p;return p=b[n],b[n]=e,n}function P(e){e<132||(b[e]=p,p=e)}function O(e){let n=o(e);return P(e),n}var y=null;function H(){return(y===null||y.byteLength===0)&&(y=new Float64Array(c.memory.buffer)),y}function E(e){let n=typeof e;if(n=="number"||n=="boolean"||e==null)return`${e}`;if(n=="string")return`"${e}"`;if(n=="symbol"){let i=e.description;return i==null?"Symbol":`Symbol(${i})`}if(n=="function"){let i=e.name;return typeof i=="string"&&i.length>0?`Function(${i})`:"Function"}if(Array.isArray(e)){let i=e.length,f="[";i>0&&(f+=E(e[0]));for(let s=1;s1)r=t[1];else return toString.call(e);if(r=="Object")try{return"Object("+JSON.stringify(e)+")"}catch{return"Object"}return e instanceof Error?`${e.name}: ${e.message} -${e.stack}`:r}function T(e,n){let t,r;try{let d=c.__wbindgen_add_to_stack_pointer(-16),L=W(e,c.__wbindgen_malloc,c.__wbindgen_realloc),R=h;c.inline(d,L,R,l(n));var i=u()[d/4+0],f=u()[d/4+1],s=u()[d/4+2],_=u()[d/4+3],a=i,x=f;if(_)throw a=0,x=0,O(s);return t=a,r=x,m(a,x)}finally{c.__wbindgen_add_to_stack_pointer(16),c.__wbindgen_free(t,r,1)}}function k(){let e,n;try{let i=c.__wbindgen_add_to_stack_pointer(-16);c.version(i);var t=u()[i/4+0],r=u()[i/4+1];return e=t,n=r,m(t,r)}finally{c.__wbindgen_add_to_stack_pointer(16),c.__wbindgen_free(e,n,1)}}async function J(e,n){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,n)}catch(r){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let t=await e.arrayBuffer();return await WebAssembly.instantiate(t,n)}else{let t=await WebAssembly.instantiate(e,n);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}function V(){let e={};return e.wbg={},e.wbg.__wbindgen_is_undefined=function(n){return o(n)===void 0},e.wbg.__wbindgen_string_get=function(n,t){let r=o(t),i=typeof r=="string"?r:void 0;var f=j(i)?0:W(i,c.__wbindgen_malloc,c.__wbindgen_realloc),s=h;u()[n/4+1]=s,u()[n/4+0]=f},e.wbg.__wbindgen_boolean_get=function(n){let t=o(n);return typeof t=="boolean"?t?1:0:2},e.wbg.__wbindgen_is_object=function(n){let t=o(n);return typeof t=="object"&&t!==null},e.wbg.__wbindgen_string_new=function(n,t){let r=m(n,t);return l(r)},e.wbg.__wbindgen_object_clone_ref=function(n){let t=o(n);return l(t)},e.wbg.__wbg_getwithrefkey_4a92a5eca60879b9=function(n,t){let r=o(n)[o(t)];return l(r)},e.wbg.__wbindgen_in=function(n,t){return o(n)in o(t)},e.wbg.__wbg_isSafeInteger_f93fde0dca9820f8=function(n){return Number.isSafeInteger(o(n))},e.wbg.__wbindgen_as_number=function(n){return+o(n)},e.wbg.__wbindgen_object_drop_ref=function(n){O(n)},e.wbg.__wbg_length_1d25fa9e4ac21ce7=function(n){return o(n).length},e.wbg.__wbindgen_memory=function(){let n=c.memory;return l(n)},e.wbg.__wbg_buffer_a448f833075b71ba=function(n){let t=o(n).buffer;return l(t)},e.wbg.__wbg_new_8f67e318f15d7254=function(n){let t=new Uint8Array(o(n));return l(t)},e.wbg.__wbg_set_2357bf09366ee480=function(n,t,r){o(n).set(o(t),r>>>0)},e.wbg.__wbindgen_error_new=function(n,t){let r=new Error(m(n,t));return l(r)},e.wbg.__wbindgen_jsval_loose_eq=function(n,t){return o(n)==o(t)},e.wbg.__wbindgen_number_get=function(n,t){let r=o(t),i=typeof r=="number"?r:void 0;H()[n/8+1]=j(i)?0:i,u()[n/4+0]=!j(i)},e.wbg.__wbg_instanceof_Uint8Array_bced6f43aed8c1aa=function(n){let t;try{t=o(n)instanceof Uint8Array}catch{t=!1}return t},e.wbg.__wbg_instanceof_ArrayBuffer_e7d53d51371448e2=function(n){let t;try{t=o(n)instanceof ArrayBuffer}catch{t=!1}return t},e.wbg.__wbindgen_debug_string=function(n,t){let r=E(o(t)),i=W(r,c.__wbindgen_malloc,c.__wbindgen_realloc),f=h;u()[n/4+1]=f,u()[n/4+0]=i},e.wbg.__wbindgen_throw=function(n,t){throw new Error(m(n,t))},e}function G(e,n){return c=e.exports,U.__wbindgen_wasm_module=n,y=null,w=null,g=null,c}async function U(e){if(c!==void 0)return c;typeof e>"u"&&(e=new URL("index_bg.wasm",void 0));let n=V();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));let{instance:t,module:r}=await J(await e,n);return G(t,r)}var v=U;var F=!1,K=async e=>{if(F)throw new Error("Already initialized. The `initWasm()` function can be used only once.");await v(await e),F=!0};function Q(e,n){return T(e,n)}function X(){return k()}return z(Y);})(); +"use strict";var cssInline=(()=>{var S=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var B=(e,n)=>{for(var t in n)S(e,t,{get:n[t],enumerable:!0})},q=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of D(n))!N.call(e,i)&&i!==t&&S(e,i,{get:()=>n[i],enumerable:!(r=$(n,i))||r.enumerable});return e};var z=e=>q(S({},"__esModule",{value:!0}),e);var Y={};B(Y,{initWasm:()=>K,inline:()=>Q,version:()=>X});var c,b=new Array(128).fill(void 0);b.push(void 0,null,!0,!1);function o(e){return b[e]}var m=b.length;function C(e){e<132||(b[e]=m,m=e)}function M(e){let n=o(e);return C(e),n}var h=0,g=null;function A(){return(g===null||g.byteLength===0)&&(g=new Uint8Array(c.memory.buffer)),g}var I=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},P=typeof I.encodeInto=="function"?function(e,n){return I.encodeInto(e,n)}:function(e,n){let t=I.encode(e);return n.set(t),{read:e.length,written:t.length}};function W(e,n,t){if(t===void 0){let _=I.encode(e),a=n(_.length,1)>>>0;return A().subarray(a,a+_.length).set(_),h=_.length,a}let r=e.length,i=n(r,1)>>>0,f=A(),s=0;for(;s127)break;f[i+s]=_}if(s!==r){s!==0&&(e=e.slice(s)),i=t(i,r,r=s+e.length*3,1)>>>0;let _=A().subarray(i+s,i+r),a=P(e,_);s+=a.written}return h=s,i}function j(e){return e==null}var w=null;function u(){return(w===null||w.byteLength===0)&&(w=new Int32Array(c.memory.buffer)),w}var O=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&O.decode();function p(e,n){return e=e>>>0,O.decode(A().subarray(e,e+n))}function l(e){m===b.length&&b.push(b.length+1);let n=m;return m=b[n],b[n]=e,n}var y=null;function H(){return(y===null||y.byteLength===0)&&(y=new Float64Array(c.memory.buffer)),y}function E(e){let n=typeof e;if(n=="number"||n=="boolean"||e==null)return`${e}`;if(n=="string")return`"${e}"`;if(n=="symbol"){let i=e.description;return i==null?"Symbol":`Symbol(${i})`}if(n=="function"){let i=e.name;return typeof i=="string"&&i.length>0?`Function(${i})`:"Function"}if(Array.isArray(e)){let i=e.length,f="[";i>0&&(f+=E(e[0]));for(let s=1;s1)r=t[1];else return toString.call(e);if(r=="Object")try{return"Object("+JSON.stringify(e)+")"}catch{return"Object"}return e instanceof Error?`${e.name}: ${e.message} +${e.stack}`:r}function T(e,n){let t,r;try{let d=c.__wbindgen_add_to_stack_pointer(-16),L=W(e,c.__wbindgen_malloc,c.__wbindgen_realloc),R=h;c.inline(d,L,R,l(n));var i=u()[d/4+0],f=u()[d/4+1],s=u()[d/4+2],_=u()[d/4+3],a=i,x=f;if(_)throw a=0,x=0,M(s);return t=a,r=x,p(a,x)}finally{c.__wbindgen_add_to_stack_pointer(16),c.__wbindgen_free(t,r,1)}}function k(){let e,n;try{let i=c.__wbindgen_add_to_stack_pointer(-16);c.version(i);var t=u()[i/4+0],r=u()[i/4+1];return e=t,n=r,p(t,r)}finally{c.__wbindgen_add_to_stack_pointer(16),c.__wbindgen_free(e,n,1)}}async function J(e,n){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,n)}catch(r){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let t=await e.arrayBuffer();return await WebAssembly.instantiate(t,n)}else{let t=await WebAssembly.instantiate(e,n);return t instanceof WebAssembly.Instance?{instance:t,module:e}:t}}function V(){let e={};return e.wbg={},e.wbg.__wbindgen_is_undefined=function(n){return o(n)===void 0},e.wbg.__wbindgen_object_drop_ref=function(n){M(n)},e.wbg.__wbindgen_string_get=function(n,t){let r=o(t),i=typeof r=="string"?r:void 0;var f=j(i)?0:W(i,c.__wbindgen_malloc,c.__wbindgen_realloc),s=h;u()[n/4+1]=s,u()[n/4+0]=f},e.wbg.__wbindgen_boolean_get=function(n){let t=o(n);return typeof t=="boolean"?t?1:0:2},e.wbg.__wbindgen_is_object=function(n){let t=o(n);return typeof t=="object"&&t!==null},e.wbg.__wbindgen_string_new=function(n,t){let r=p(n,t);return l(r)},e.wbg.__wbindgen_object_clone_ref=function(n){let t=o(n);return l(t)},e.wbg.__wbg_getwithrefkey_4a92a5eca60879b9=function(n,t){let r=o(n)[o(t)];return l(r)},e.wbg.__wbindgen_in=function(n,t){return o(n)in o(t)},e.wbg.__wbg_isSafeInteger_f93fde0dca9820f8=function(n){return Number.isSafeInteger(o(n))},e.wbg.__wbindgen_as_number=function(n){return+o(n)},e.wbg.__wbg_length_1d25fa9e4ac21ce7=function(n){return o(n).length},e.wbg.__wbindgen_memory=function(){let n=c.memory;return l(n)},e.wbg.__wbg_buffer_a448f833075b71ba=function(n){let t=o(n).buffer;return l(t)},e.wbg.__wbg_new_8f67e318f15d7254=function(n){let t=new Uint8Array(o(n));return l(t)},e.wbg.__wbg_set_2357bf09366ee480=function(n,t,r){o(n).set(o(t),r>>>0)},e.wbg.__wbindgen_error_new=function(n,t){let r=new Error(p(n,t));return l(r)},e.wbg.__wbindgen_jsval_loose_eq=function(n,t){return o(n)==o(t)},e.wbg.__wbindgen_number_get=function(n,t){let r=o(t),i=typeof r=="number"?r:void 0;H()[n/8+1]=j(i)?0:i,u()[n/4+0]=!j(i)},e.wbg.__wbg_instanceof_Uint8Array_bced6f43aed8c1aa=function(n){let t;try{t=o(n)instanceof Uint8Array}catch{t=!1}return t},e.wbg.__wbg_instanceof_ArrayBuffer_e7d53d51371448e2=function(n){let t;try{t=o(n)instanceof ArrayBuffer}catch{t=!1}return t},e.wbg.__wbindgen_debug_string=function(n,t){let r=E(o(t)),i=W(r,c.__wbindgen_malloc,c.__wbindgen_realloc),f=h;u()[n/4+1]=f,u()[n/4+0]=i},e.wbg.__wbindgen_throw=function(n,t){throw new Error(p(n,t))},e}function G(e,n){return c=e.exports,U.__wbindgen_wasm_module=n,y=null,w=null,g=null,c}async function U(e){if(c!==void 0)return c;typeof e>"u"&&(e=new URL("index_bg.wasm",void 0));let n=V();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));let{instance:t,module:r}=await J(await e,n);return G(t,r)}var v=U;var F=!1,K=async e=>{if(F)throw new Error("Already initialized. The `initWasm()` function can be used only once.");await v(await e),F=!0};function Q(e,n){return T(e,n)}function X(){return k()}return z(Y);})(); diff --git a/bindings/javascript/wasm/index.mjs b/bindings/javascript/wasm/index.mjs index 008fbb26..6ec93e90 100644 --- a/bindings/javascript/wasm/index.mjs +++ b/bindings/javascript/wasm/index.mjs @@ -5,6 +5,18 @@ heap.push(void 0, null, true, false); function getObject(idx) { return heap[idx]; } +var heap_next = heap.length; +function dropObject(idx) { + if (idx < 132) + return; + heap[idx] = heap_next; + heap_next = idx; +} +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} var WASM_VECTOR_LEN = 0; var cachedUint8Memory0 = null; function getUint8Memory0() { @@ -76,7 +88,6 @@ function getStringFromWasm0(ptr, len) { ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } -var heap_next = heap.length; function addHeapObject(obj) { if (heap_next === heap.length) heap.push(heap.length + 1); @@ -85,17 +96,6 @@ function addHeapObject(obj) { heap[idx] = obj; return idx; } -function dropObject(idx) { - if (idx < 132) - return; - heap[idx] = heap_next; - heap_next = idx; -} -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} var cachedFloat64Memory0 = null; function getFloat64Memory0() { if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { @@ -233,6 +233,9 @@ function __wbg_get_imports() { const ret = getObject(arg0) === void 0; return ret; }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; imports.wbg.__wbindgen_string_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof obj === "string" ? obj : void 0; @@ -275,9 +278,6 @@ function __wbg_get_imports() { const ret = +getObject(arg0); return ret; }; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; imports.wbg.__wbg_length_1d25fa9e4ac21ce7 = function(arg0) { const ret = getObject(arg0).length; return ret; diff --git a/bindings/javascript/wasm/index_bg.wasm b/bindings/javascript/wasm/index_bg.wasm index a61fbf8e9c00d516b72d228b0bf552108b3221df..8fb999b93fa848caafdfc1b66626d7115bb3c75a 100644 GIT binary patch delta 219205 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 delta 217685 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 -> PyResult> { /// Customizable CSS inliner. #[pyclass] struct CSSInliner { - inner: rust_inline::CSSInliner<'static>, + inner: rust_inline::blocking::CSSInliner<'static>, } macro_rules! inliner { ($inline_style_tags:expr, $keep_style_tags:expr, $keep_link_tags:expr, $base_url:expr, $load_remote_stylesheets:expr, $extra_css:expr, $preallocate_node_capacity:expr) => {{ - let options = rust_inline::InlineOptions { + rust_inline::blocking::InlineOptions { inline_style_tags: $inline_style_tags.unwrap_or(true), keep_style_tags: $keep_style_tags.unwrap_or(false), keep_link_tags: $keep_link_tags.unwrap_or(false), @@ -88,8 +88,8 @@ macro_rules! inliner { extra_css: $extra_css.map(Into::into), preallocate_node_capacity: $preallocate_node_capacity.unwrap_or(32), resolver: std::sync::Arc::new(rust_inline::DefaultStylesheetResolver), - }; - rust_inline::CSSInliner::new(options) + } + .build() }}; } @@ -198,7 +198,7 @@ fn inline_many( } fn inline_many_impl( - inliner: &rust_inline::CSSInliner<'_>, + inliner: &rust_inline::blocking::CSSInliner<'_>, htmls: &PyList, ) -> PyResult> { // Extract strings from the list. It will fail if there is any non-string value diff --git a/bindings/ruby/ext/css_inline/Cargo.toml b/bindings/ruby/ext/css_inline/Cargo.toml index a71fb898..97fc8e02 100644 --- a/bindings/ruby/ext/css_inline/Cargo.toml +++ b/bindings/ruby/ext/css_inline/Cargo.toml @@ -23,4 +23,4 @@ rayon = "1" path = "../../../../css-inline" version = "*" default-features = false -features = ["http", "file"] +features = ["http-blocking", "file"] diff --git a/bindings/ruby/ext/css_inline/src/lib.rs b/bindings/ruby/ext/css_inline/src/lib.rs index f5395eba..e2ced6c9 100644 --- a/bindings/ruby/ext/css_inline/src/lib.rs +++ b/bindings/ruby/ext/css_inline/src/lib.rs @@ -39,7 +39,7 @@ type RubyResult = Result; fn parse_options( args: &Args, -) -> RubyResult> { +) -> RubyResult> { let kwargs = get_kwargs::< _, (), @@ -67,7 +67,7 @@ fn parse_options( ], )?; let kwargs = kwargs.optional; - Ok(rust_inline::InlineOptions { + Ok(rust_inline::blocking::InlineOptions { inline_style_tags: kwargs.0.unwrap_or(true), keep_style_tags: kwargs.1.unwrap_or(false), keep_link_tags: kwargs.2.unwrap_or(false), @@ -81,7 +81,7 @@ fn parse_options( #[magnus::wrap(class = "CSSInline::CSSInliner")] struct CSSInliner { - inner: rust_inline::CSSInliner<'static>, + inner: rust_inline::blocking::CSSInliner<'static>, } struct InlineErrorWrapper(rust_inline::InlineError); @@ -133,7 +133,7 @@ impl CSSInliner { let args = scan_args::<(), _, _, _, _, _>(args)?; let options = parse_options(&args)?; Ok(CSSInliner { - inner: rust_inline::CSSInliner::new(options), + inner: rust_inline::blocking::CSSInliner::new(options), }) } @@ -152,7 +152,7 @@ fn inline(args: &[Value]) -> RubyResult { let args = scan_args::<(String,), _, _, _, _, _>(args)?; let options = parse_options(&args)?; let html = args.required.0; - Ok(rust_inline::CSSInliner::new(options) + Ok(rust_inline::blocking::CSSInliner::new(options) .inline(&html) .map_err(InlineErrorWrapper)?) } @@ -160,13 +160,13 @@ fn inline(args: &[Value]) -> RubyResult { fn inline_many(args: &[Value]) -> RubyResult> { let args = scan_args::<(Vec,), _, _, _, _, _>(args)?; let options = parse_options(&args)?; - let inliner = rust_inline::CSSInliner::new(options); + let inliner = rust_inline::blocking::CSSInliner::new(options); inline_many_impl(&args.required.0, &inliner) } fn inline_many_impl( htmls: &[String], - inliner: &rust_inline::CSSInliner<'static>, + inliner: &rust_inline::blocking::CSSInliner<'static>, ) -> RubyResult> { let output: Result, _> = htmls.par_iter().map(|html| inliner.inline(html)).collect(); Ok(output.map_err(InlineErrorWrapper)?) diff --git a/css-inline/Cargo.toml b/css-inline/Cargo.toml index 22cae200..a4e29a2e 100644 --- a/css-inline/Cargo.toml +++ b/css-inline/Cargo.toml @@ -22,18 +22,20 @@ rust-version = "1.65" name = "css-inline" [features] -default = ["cli", "http", "file"] +default = ["cli", "http", "http-blocking", "file"] cli = ["pico-args", "rayon"] http = ["reqwest"] +http-blocking = ["reqwest/blocking"] file = [] [dependencies] cssparser = "0.31.2" +futures-util = "0.3.30" html5ever = "0.26.0" indexmap = "2.1" pico-args = { version = "0.3", optional = true } rayon = { version = "1.7", optional = true } -reqwest = { version = "0.11.23", optional = true, default-features = false, features = ["rustls-tls", "blocking"] } +reqwest = { version = "0.11.23", optional = true, default-features = false, features = ["rustls-tls"] } rustc-hash = "1.1.0" selectors = "0.25.0" smallvec = "1" @@ -46,6 +48,7 @@ criterion = { version = "0.5.1", features = [], default-features = false } serde = { version = "1", features = ["derive"] } serde_json = "1" test-case = "3.3" +tokio = { version = "1.32", features = ["macros", "rt"] } [[bench]] name = "inliner" diff --git a/css-inline/benches/inliner.rs b/css-inline/benches/inliner.rs index e009b328..76ab8c3f 100644 --- a/css-inline/benches/inliner.rs +++ b/css-inline/benches/inliner.rs @@ -1,5 +1,5 @@ use codspeed_criterion_compat::{black_box, criterion_group, criterion_main, Criterion}; -use css_inline::inline_to; +use css_inline::blocking::inline_to; use std::fs; #[derive(serde::Deserialize, Debug)] diff --git a/css-inline/src/error.rs b/css-inline/src/error.rs index 5f21deb3..1d7ce97c 100644 --- a/css-inline/src/error.rs +++ b/css-inline/src/error.rs @@ -20,7 +20,7 @@ pub enum InlineError { /// from the filesystem. IO(io::Error), /// Network-related problem. E.g. resource is not available. - #[cfg(feature = "http")] + #[cfg(any(feature = "http", feature = "http-blocking"))] Network { /// Original network error. error: reqwest::Error, @@ -41,7 +41,7 @@ impl Error for InlineError { fn source(&self) -> Option<&(dyn Error + 'static)> { match self { InlineError::IO(error) => Some(error), - #[cfg(feature = "http")] + #[cfg(any(feature = "http", feature = "http-blocking"))] InlineError::Network { error, .. } => Some(error), InlineError::MissingStyleSheet { .. } | InlineError::ParseError(_) => None, } @@ -52,7 +52,7 @@ impl Display for InlineError { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { match self { Self::IO(error) => error.fmt(f), - #[cfg(feature = "http")] + #[cfg(any(feature = "http", feature = "http-blocking"))] Self::Network { error, location } => f.write_fmt(format_args!("{error}: {location}")), Self::ParseError(error) => f.write_str(error), Self::MissingStyleSheet { path } => { diff --git a/css-inline/src/lib.rs b/css-inline/src/lib.rs index 04aeeb63..56d4d253 100644 --- a/css-inline/src/lib.rs +++ b/css-inline/src/lib.rs @@ -34,8 +34,7 @@ mod parser; mod resolver; pub use error::InlineError; -use indexmap::IndexMap; -use std::{borrow::Cow, fmt::Formatter, hash::BuildHasherDefault, io::Write, sync::Arc}; +use std::{hash::BuildHasherDefault, io::Write}; use crate::html::ElementStyleMap; use hasher::BuildNoHashHasher; @@ -43,214 +42,32 @@ use html::Document; pub use resolver::{DefaultStylesheetResolver, StylesheetResolver}; pub use url::{ParseError, Url}; -/// Configuration options for CSS inlining process. -#[allow(clippy::struct_excessive_bools)] -pub struct InlineOptions<'a> { - /// Whether to inline CSS from "style" tags. - /// - /// Sometimes HTML may include a lot of boilerplate styles, that are not applicable in every - /// scenario and it is useful to ignore them and use `extra_css` instead. - pub inline_style_tags: bool, - /// Keep "style" tags after inlining. - pub keep_style_tags: bool, - /// Keep "link" tags after inlining. - pub keep_link_tags: bool, - /// Used for loading external stylesheets via relative URLs. - pub base_url: Option, - /// Whether remote stylesheets should be loaded or not. - pub load_remote_stylesheets: bool, - // The point of using `Cow` here is Python bindings, where it is problematic to pass a reference - // without dealing with memory leaks & unsafe. With `Cow` we can use moved values as `String` in - // Python wrapper for `CSSInliner` and `&str` in Rust & simple functions on the Python side - /// Additional CSS to inline. - pub extra_css: Option>, - /// Pre-allocate capacity for HTML nodes during parsing. - /// It can improve performance when you have an estimate of the number of nodes in your HTML document. - pub preallocate_node_capacity: usize, - /// A way to resolve stylesheets from various sources. - pub resolver: Arc, -} - -impl<'a> std::fmt::Debug for InlineOptions<'a> { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("InlineOptions") - .field("inline_style_tags", &self.inline_style_tags) - .field("keep_style_tags", &self.keep_style_tags) - .field("keep_link_tags", &self.keep_link_tags) - .field("base_url", &self.base_url) - .field("load_remote_stylesheets", &self.load_remote_stylesheets) - .field("extra_css", &self.extra_css) - .field("preallocate_node_capacity", &self.preallocate_node_capacity) - .finish_non_exhaustive() - } -} - -impl<'a> InlineOptions<'a> { - /// Override whether "style" tags should be inlined. - #[must_use] - pub fn inline_style_tags(mut self, inline_style_tags: bool) -> Self { - self.inline_style_tags = inline_style_tags; - self - } - - /// Override whether "style" tags should be kept after processing. - #[must_use] - pub fn keep_style_tags(mut self, keep_style_tags: bool) -> Self { - self.keep_style_tags = keep_style_tags; - self - } - - /// Override whether "link" tags should be kept after processing. - #[must_use] - pub fn keep_link_tags(mut self, keep_link_tags: bool) -> Self { - self.keep_link_tags = keep_link_tags; - self - } - - /// Set base URL that will be used for loading external stylesheets via relative URLs. - #[must_use] - pub fn base_url(mut self, base_url: Option) -> Self { - self.base_url = base_url; - self - } - - /// Override whether remote stylesheets should be loaded. - #[must_use] - pub fn load_remote_stylesheets(mut self, load_remote_stylesheets: bool) -> Self { - self.load_remote_stylesheets = load_remote_stylesheets; - self - } - - /// Set additional CSS to inline. - #[must_use] - pub fn extra_css(mut self, extra_css: Option>) -> Self { - self.extra_css = extra_css; - self - } - - /// Set the initial node capacity for HTML tree. - #[must_use] - pub fn preallocate_node_capacity(mut self, preallocate_node_capacity: usize) -> Self { - self.preallocate_node_capacity = preallocate_node_capacity; - self - } - - /// Set the way to resolve stylesheets from various sources. - #[must_use] - pub fn resolver(mut self, resolver: Arc) -> Self { - self.resolver = resolver; - self - } - - /// Create a new `CSSInliner` instance from this options. - #[must_use] - pub const fn build(self) -> CSSInliner<'a> { - CSSInliner::new(self) - } -} - -impl Default for InlineOptions<'_> { - #[inline] - fn default() -> Self { - InlineOptions { - inline_style_tags: true, - keep_style_tags: false, - keep_link_tags: false, - base_url: None, - load_remote_stylesheets: true, - extra_css: None, - preallocate_node_capacity: 32, - resolver: Arc::new(DefaultStylesheetResolver), - } - } -} - /// A specialized `Result` type for CSS inlining operations. pub type Result = std::result::Result; -/// Customizable CSS inliner. -#[derive(Debug)] -pub struct CSSInliner<'a> { - options: InlineOptions<'a>, -} - const GROWTH_COEFFICIENT: f64 = 1.5; // A rough coefficient to calculate the number of individual declarations based on the total CSS size. const DECLARATION_SIZE_COEFFICIENT: f64 = 30.0; -impl<'a> CSSInliner<'a> { - /// Create a new `CSSInliner` instance with given options. - #[must_use] - #[inline] - pub const fn new(options: InlineOptions<'a>) -> Self { - CSSInliner { options } - } - - /// Return a default `InlineOptions` that can fully configure the CSS inliner. - /// - /// # Examples - /// - /// Get default `InlineOptions`, then change base url - /// - /// ```rust - /// use css_inline::{CSSInliner, Url}; - /// # use url::ParseError; - /// # fn run() -> Result<(), ParseError> { - /// let url = Url::parse("https://api.example.com")?; - /// let inliner = CSSInliner::options() - /// .base_url(Some(url)) - /// .build(); - /// # Ok(()) - /// # } - /// # run().unwrap(); - /// ``` - #[must_use] - #[inline] - pub fn options() -> InlineOptions<'a> { - InlineOptions::default() - } - - /// Inline CSS styles from

Hello world!

" ) } -#[test] -fn do_not_process_style_tag_and_remove() { +#[tokio::test] +async fn do_not_process_style_tag_and_remove() { let html = html!("h1 {background-color: blue;}", "

Hello world!

"); let options = InlineOptions { keep_style_tags: false, @@ -436,15 +436,15 @@ fn do_not_process_style_tag_and_remove() { ..Default::default() }; let inliner = CSSInliner::new(options); - let result = inliner.inline(&html).unwrap(); + let result = inliner.inline(&html).await.unwrap(); assert_eq!( result, "

Hello world!

" ) } -#[test] -fn empty_style() { +#[tokio::test] +async fn empty_style() { // When the style tag is empty assert_inlined!( style = "", @@ -454,8 +454,8 @@ fn empty_style() { ) } -#[test] -fn media_query_ignore() { +#[tokio::test] +async fn media_query_ignore() { // When the style value includes @media query assert_inlined!( style = r#"@media screen and (max-width: 992px) { @@ -471,25 +471,26 @@ fn media_query_ignore() { #[test_case("@wrong { color: --- }", "Invalid @ rule: wrong")] #[test_case("ttt { 123 }", "Unexpected token: CurlyBracketBlock")] #[test_case("----", "End of input")] -fn invalid_rule(style: &str, expected: &str) { +#[tokio::test] +async fn invalid_rule(style: &str, expected: &str) { let html = html!( "h1 {background-color: blue;}", format!(r#"

Hello world!

"#, style) ); - let result = inline(&html); + let result = inline(&html).await; assert!(result.is_err()); assert_eq!(result.unwrap_err().to_string(), expected); } -#[test] -fn remove_style_tag() { +#[tokio::test] +async fn remove_style_tag() { let html = html!("h1 {background-color: blue;}", "

Hello world!

"); - let result = inline(&html).unwrap(); + let result = inline(&html).await.unwrap(); assert_eq!(result, "

Hello world!

") } -#[test] -fn remove_multiple_style_tags() { +#[tokio::test] +async fn remove_multiple_style_tags() { let html = r#" @@ -513,7 +514,7 @@ a { "#; - let result = inline(html).unwrap(); + let result = inline(html).await.unwrap(); assert_eq!( result, r#" @@ -529,8 +530,8 @@ a { ) } -#[test] -fn extra_css() { +#[tokio::test] +async fn extra_css() { let html = html!("h1 {background-color: blue;}", "

Hello world!

"); let options = InlineOptions { inline_style_tags: false, @@ -538,15 +539,15 @@ fn extra_css() { ..Default::default() }; let inliner = CSSInliner::new(options); - let result = inliner.inline(&html).unwrap(); + let result = inliner.inline(&html).await.unwrap(); assert_eq!( result, "

Hello world!

" ) } -#[test] -fn remote_file_stylesheet() { +#[tokio::test] +async fn remote_file_stylesheet() { let html = r#" @@ -561,7 +562,7 @@ h2 { color: red; }

Smaller Text

"#; - let inlined = inline(html); + let inlined = inline(html).await; assert_file( inlined, r#" @@ -572,8 +573,8 @@ h2 { color: red; } ); } -#[test] -fn missing_stylesheet() { +#[tokio::test] +async fn missing_stylesheet() { let html = r#" @@ -583,7 +584,7 @@ fn missing_stylesheet() {

Big Text

"#; - let inlined = inline(html); + let inlined = inline(html).await; #[cfg(feature = "file")] { assert_eq!( @@ -597,8 +598,8 @@ fn missing_stylesheet() { } } -#[test] -fn remote_file_stylesheet_disable() { +#[tokio::test] +async fn remote_file_stylesheet_disable() { let html = r#" @@ -613,7 +614,7 @@ h2 { color: red; }

Smaller Text

"#; - let inlined = inline(html); + let inlined = inline(html).await; assert_file( inlined, r#" @@ -624,8 +625,8 @@ h2 { color: red; } ); } -#[test] -fn remote_network_stylesheet() { +#[tokio::test] +async fn remote_network_stylesheet() { let html = r#" @@ -640,7 +641,7 @@ h2 { color: red; }

Smaller Text

"#; - let inlined = inline(html); + let inlined = inline(html).await; assert_http( inlined, r#" @@ -651,8 +652,8 @@ h2 { color: red; } ); } -#[test] -fn remote_network_stylesheet_invalid_url() { +#[tokio::test] +async fn remote_network_stylesheet_invalid_url() { let html = r#" @@ -661,7 +662,7 @@ fn remote_network_stylesheet_invalid_url() { "#; - let error = inline(html).expect_err("Should fail"); + let error = inline(html).await.expect_err("Should fail"); #[cfg(feature = "http")] let expected = "builder error: empty host: http:"; #[cfg(not(feature = "http"))] @@ -669,8 +670,8 @@ fn remote_network_stylesheet_invalid_url() { assert_eq!(error.to_string(), expected); } -#[test] -fn remote_network_stylesheet_same_scheme() { +#[tokio::test] +async fn remote_network_stylesheet_same_scheme() { let html = r#" @@ -688,7 +689,7 @@ h2 { color: red; } let inliner = CSSInliner::options() .base_url(Some(Url::parse("http://127.0.0.1:1234").unwrap())) .build(); - let inlined = inliner.inline(html); + let inlined = inliner.inline(html).await; assert_http( inlined, r#" @@ -699,8 +700,8 @@ h2 { color: red; } ); } -#[test] -fn remote_network_relative_stylesheet() { +#[tokio::test] +async fn remote_network_relative_stylesheet() { let html = r#" @@ -718,7 +719,7 @@ h2 { color: red; } let inliner = CSSInliner::options() .base_url(Some(Url::parse("http://127.0.0.1:1234").unwrap())) .build(); - let inlined = inliner.inline(html); + let inlined = inliner.inline(html).await; assert_http( inlined, r#" @@ -729,8 +730,8 @@ h2 { color: red; } ); } -#[test] -fn file_scheme() { +#[tokio::test] +async fn file_scheme() { let html = r#" @@ -750,7 +751,7 @@ h2 { color: red; } ..Default::default() }; let inliner = CSSInliner::new(options); - let inlined = inliner.inline(html); + let inlined = inliner.inline(html).await; assert_file( inlined, r#" @@ -761,8 +762,8 @@ h2 { color: red; } ); } -#[test] -fn customize_inliner() { +#[tokio::test] +async fn customize_inliner() { let options = InlineOptions { load_remote_stylesheets: false, ..Default::default() @@ -774,8 +775,8 @@ fn customize_inliner() { assert_eq!(options.preallocate_node_capacity, 25); } -#[test] -fn use_builder() { +#[tokio::test] +async fn use_builder() { let url = Url::parse("https://api.example.com").unwrap(); let _ = CSSInliner::options() .keep_style_tags(true) @@ -785,19 +786,19 @@ fn use_builder() { .build(); } -#[test] -fn inline_to() { +#[tokio::test] +async fn inline_to() { let html = html!("h1 { color: blue }", r#"

Big Text

"#); let mut out = Vec::new(); - css_inline::inline_to(&html, &mut out).unwrap(); + css_inline::inline_to(&html, &mut out).await.unwrap(); assert_eq!( String::from_utf8_lossy(&out), "

Big Text

" ) } -#[test] -fn keep_style_tags() { +#[tokio::test] +async fn keep_style_tags() { let inliner = CSSInliner::options().keep_style_tags(true).build(); let html = r#" @@ -810,12 +811,12 @@ h2 { color: red; }

"#; - let inlined = inliner.inline(html).unwrap(); + let inlined = inliner.inline(html).await.unwrap(); assert_eq!(inlined, "\n\n\n\n

\n\n"); } -#[test] -fn keep_link_tags() { +#[tokio::test] +async fn keep_link_tags() { let inliner = CSSInliner::options() .base_url(Some(Url::parse("http://127.0.0.1:1234").unwrap())) .keep_link_tags(true) @@ -829,7 +830,7 @@ fn keep_link_tags() {

"#; - let inlined = inliner.inline(html); + let inlined = inliner.inline(html).await; assert_http( inlined, "\n\n\n\n

\n\n", diff --git a/css-inline/tests/test_selectors.rs b/css-inline/tests/test_selectors.rs index 75cd2f2d..f3e144ca 100644 --- a/css-inline/tests/test_selectors.rs +++ b/css-inline/tests/test_selectors.rs @@ -2,8 +2,8 @@ mod utils; // Most of the following tests are ported to Rust from https://github.com/rennat/pynliner -#[test] -fn identical_element() { +#[tokio::test] +async fn identical_element() { assert_inlined!( style = r#" .text-right { @@ -18,8 +18,8 @@ fn identical_element() { ) } -#[test] -fn is_or_prefixed_by() { +#[tokio::test] +async fn is_or_prefixed_by() { assert_inlined!( style = r#"[data-type|="thing"] {color: red;}"#, body = r#"1"#, @@ -32,8 +32,8 @@ fn is_or_prefixed_by() { ) } -#[test] -fn contains() { +#[tokio::test] +async fn contains() { assert_inlined!( style = r#"[data-type*="i"] {color: red;}"#, body = r#"1"#, @@ -41,8 +41,8 @@ fn contains() { ) } -#[test] -fn has_class_unicode() { +#[tokio::test] +async fn has_class_unicode() { assert_inlined!( style = r#".тест {color: red}"#, body = r#"1"#, @@ -50,8 +50,8 @@ fn has_class_unicode() { ) } -#[test] -fn has_class_short() { +#[tokio::test] +async fn has_class_short() { assert_inlined!( style = r#".t {color: red}"#, body = r#"1"#, @@ -59,8 +59,8 @@ fn has_class_short() { ) } -#[test] -fn has_class_multiple() { +#[tokio::test] +async fn has_class_multiple() { assert_inlined!( style = r#".t {color: red}"#, body = r#"1"#, @@ -68,24 +68,24 @@ fn has_class_multiple() { ) } -#[test] -fn ends_with() { +#[tokio::test] +async fn ends_with() { assert_inlined!( style = r#"[data-type$="ng"] {color: red;}"#, body = r#"1"#, expected = r#"1"# ) } -#[test] -fn starts_with() { +#[tokio::test] +async fn starts_with() { assert_inlined!( style = r#"[data-type^="th"] {color: red;}"#, body = r#"1"#, expected = r#"1"# ) } -#[test] -fn one_of() { +#[tokio::test] +async fn one_of() { assert_inlined!( style = r#"[data-type~="thing1"] {color: red;}"#, body = r#"1"#, @@ -97,8 +97,8 @@ fn one_of() { expected = r#"1"# ) } -#[test] -fn equals() { +#[tokio::test] +async fn equals() { assert_inlined!( style = r#"[data-type="thing"] {color: red;}"#, body = r#"1"#, @@ -110,16 +110,16 @@ fn equals() { expected = r#"1"# ) } -#[test] -fn exists() { +#[tokio::test] +async fn exists() { assert_inlined!( style = r#"[data-type] {color: red;}"#, body = r#"1"#, expected = r#"1"# ) } -#[test] -fn specificity() { +#[tokio::test] +async fn specificity() { assert_inlined!( style = r#"div,a,b,c,d,e,f,g,h,i,j { color: red; } .foo { color: blue; }"#, body = r#"
"#, @@ -127,88 +127,88 @@ fn specificity() { ) } -#[test] -fn first_child_descendant_selector_complex_dom() { +#[tokio::test] +async fn first_child_descendant_selector_complex_dom() { assert_inlined!( style = r#"h1 :first-child { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn last_child_descendant_selector() { +#[tokio::test] +async fn last_child_descendant_selector() { assert_inlined!( style = r#"h1 :last-child { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn first_child_descendant_selector() { +#[tokio::test] +async fn first_child_descendant_selector() { assert_inlined!( style = r#"h1 :first-child { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn child_with_first_child_and_unmatched_class_selector_complex_dom() { +#[tokio::test] +async fn child_with_first_child_and_unmatched_class_selector_complex_dom() { assert_inlined!( style = r#"h1 > .hello:first-child { color: green; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn child_with_first_child_and_class_selector_complex_dom() { +#[tokio::test] +async fn child_with_first_child_and_class_selector_complex_dom() { assert_inlined!( style = r#"h1 > .hello:first-child { color: green; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn nested_child_with_first_child_override_selector_complex_dom() { +#[tokio::test] +async fn nested_child_with_first_child_override_selector_complex_dom() { assert_inlined!( style = r#"div > div > * { color: green; } div > div > :first-child { color: red; }"#, body = r#"
Hello World!

foo

bazbar
"#, expected = r#"
Hello World!

foo

bazbar
"# ) } -#[test] -fn child_with_first_and_last_child_override_selector() { +#[tokio::test] +async fn child_with_first_and_last_child_override_selector() { assert_inlined!( style = r#"p > * { color: green; } p > :first-child:last-child { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn id_el_child_with_first_child_override_selector_complex_dom() { +#[tokio::test] +async fn id_el_child_with_first_child_override_selector_complex_dom() { assert_inlined!( style = r#"#abc > * { color: green; } #abc > :first-child { color: red; }"#, body = r#"
Hello World!

foo

bazbar
"#, expected = r#"
Hello World!

foo

bazbar
"# ) } -#[test] -fn child_with_first_child_override_selector_complex_dom() { +#[tokio::test] +async fn child_with_first_child_override_selector_complex_dom() { assert_inlined!( style = r#"div > * { color: green; } div > :first-child { color: red; }"#, body = r#"
Hello World!

foo

bazbar
"#, expected = r#"
Hello World!

foo

bazbar
"# ) } -#[test] -fn child_follow_by_last_child_selector_complex_dom() { +#[tokio::test] +async fn child_follow_by_last_child_selector_complex_dom() { assert_inlined!( style = r#"h1 > :last-child { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn parent_pseudo_selector() { +#[tokio::test] +async fn parent_pseudo_selector() { assert_inlined!( style = r#"span:last-child span { color: red; }"#, body = r#"

Hello World!

"#, @@ -225,8 +225,8 @@ fn parent_pseudo_selector() { expected = r#"

Hello World!nope

"# ) } -#[test] -fn multiple_pseudo_selectors() { +#[tokio::test] +async fn multiple_pseudo_selectors() { assert_inlined!( style = r#"span:first-child:last-child { color: red; }"#, body = r#"

Hello World!

"#, @@ -238,32 +238,32 @@ fn multiple_pseudo_selectors() { expected = r#"

Hello World!again!

"# ) } -#[test] -fn last_child_selector() { +#[tokio::test] +async fn last_child_selector() { assert_inlined!( style = r#"h1 > :last-child { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn child_follow_by_first_child_selector_complex_dom() { +#[tokio::test] +async fn child_follow_by_first_child_selector_complex_dom() { assert_inlined!( style = r#"h1 > :first-child { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn child_follow_by_first_child_selector_with_comments() { +#[tokio::test] +async fn child_follow_by_first_child_selector_with_comments() { assert_inlined!( style = r#"h1 > :first-child { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn child_follow_by_first_child_selector_with_white_spaces() { +#[tokio::test] +async fn child_follow_by_first_child_selector_with_white_spaces() { assert_inlined!( style = r#"h1 > :first-child { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, @@ -271,8 +271,8 @@ fn child_follow_by_first_child_selector_with_white_spaces() { ) } -#[test] -fn child_follow_by_adjacent_selector_complex_dom() { +#[tokio::test] +async fn child_follow_by_adjacent_selector_complex_dom() { assert_inlined!( style = r#"h1 > span + p { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, @@ -280,88 +280,88 @@ fn child_follow_by_adjacent_selector_complex_dom() { ) } -#[test] -fn unknown_pseudo_selector() { +#[tokio::test] +async fn unknown_pseudo_selector() { assert_inlined!( style = r#"h1 > span:css4-selector { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn adjacent_selector() { +#[tokio::test] +async fn adjacent_selector() { assert_inlined!( style = r#"h1 + h2 { color: red; }"#, body = r#"

Hello World!

How are you?

"#, expected = r#"

Hello World!

How are you?

"# ) } -#[test] -fn child_all_selector_complex_dom() { +#[tokio::test] +async fn child_all_selector_complex_dom() { assert_inlined!( style = r#"h1 > * { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn child_selector_complex_dom() { +#[tokio::test] +async fn child_selector_complex_dom() { assert_inlined!( style = r#"h1 > span { color: red; }"#, body = r#"

Hello World!

foo

bazbar

"#, expected = r#"

Hello World!

foo

bazbar

"# ) } -#[test] -fn nested_child_selector() { +#[tokio::test] +async fn nested_child_selector() { assert_inlined!( style = r#"div > h1 > span { color: red; }""#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn child_selector() { +#[tokio::test] +async fn child_selector() { assert_inlined!( style = r#"h1 > span { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn descendant_selector() { +#[tokio::test] +async fn descendant_selector() { assert_inlined!( style = r#"h1 span { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn combination_selector() { +#[tokio::test] +async fn combination_selector() { assert_inlined!( style = r#"h1#a.b { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn conflicting_multiple_class_selector() { +#[tokio::test] +async fn conflicting_multiple_class_selector() { assert_inlined!( style = r#"h1.a.b { color: red; }"#, body = r#"

Hello World!

I should not be changed

"#, expected = r#"

Hello World!

I should not be changed

"# ) } -#[test] -fn multiple_class_selector() { +#[tokio::test] +async fn multiple_class_selector() { assert_inlined!( style = r#"h1.a.b { color: red; }"#, body = r#"

Hello World!

"#, expected = r#"

Hello World!

"# ) } -#[test] -fn missing_link_descendant_selector() { +#[tokio::test] +async fn missing_link_descendant_selector() { assert_inlined!( style = r#"#a b i { color: red }"#, body = r#"
x
"#, @@ -369,8 +369,8 @@ fn missing_link_descendant_selector() { ) } -#[test] -fn comma_specificity() { +#[tokio::test] +async fn comma_specificity() { assert_inlined!( style = r#"i, i { color: red; } i { color: blue; }"#, body = r#"howdy"#, @@ -378,8 +378,8 @@ fn comma_specificity() { ) } -#[test] -fn overwrite_comma() { +#[tokio::test] +async fn overwrite_comma() { assert_inlined!( style = r#"h1,h2,h3 {color: #000;}"#, body = r#"

Foo

Foo

"#, diff --git a/css-inline/tests/utils.rs b/css-inline/tests/utils.rs index bebc768b..4fa4358e 100644 --- a/css-inline/tests/utils.rs +++ b/css-inline/tests/utils.rs @@ -15,7 +15,7 @@ macro_rules! html { macro_rules! assert_inlined { (style = $style: expr, body = $body: expr, expected = $expected: expr) => {{ let html = html!($style, $body); - let inlined = css_inline::inline(&html).unwrap(); + let inlined = css_inline::inline(&html).await.unwrap(); assert_eq!(inlined, html!($expected)) }}; } diff --git a/profiler/src/main.rs b/profiler/src/main.rs index 79eac16b..c709dacc 100644 --- a/profiler/src/main.rs +++ b/profiler/src/main.rs @@ -35,7 +35,7 @@ fn main() -> Result<(), Box> { for _ in 0..args.iterations { #[cfg(feature = "dhat-heap")] let _profiler = dhat::Profiler::new_heap(); - css_inline::inline_to(&benchmark.html, &mut output).expect("Inlining failed"); + css_inline::blocking::inline_to(&benchmark.html, &mut output).expect("Inlining failed"); output.clear(); } } else {