From 69fb7b0c947c9f576bda4c0678c28aebc0e11c0b Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sun, 8 Jun 2014 12:00:49 +0200 Subject: [PATCH] Implement Console.assert. --- src/components/script/dom/console.rs | 11 +++++++++++ src/components/script/dom/webidls/Console.webidl | 1 + 2 files changed, 12 insertions(+) diff --git a/src/components/script/dom/console.rs b/src/components/script/dom/console.rs index 509a379ea06..bb1531d27f3 100644 --- a/src/components/script/dom/console.rs +++ b/src/components/script/dom/console.rs @@ -31,6 +31,7 @@ pub trait ConsoleMethods { fn Info(&self, message: DOMString); fn Warn(&self, message: DOMString); fn Error(&self, message: DOMString); + fn Assert(&self, condition: bool, message: Option); } impl<'a> ConsoleMethods for JSRef<'a, Console> { @@ -53,6 +54,16 @@ impl<'a> ConsoleMethods for JSRef<'a, Console> { fn Error(&self, message: DOMString) { println!("{:s}", message); } + + fn Assert(&self, condition: bool, message: Option) { + if !condition { + let message = match message { + Some(ref message) => message.as_slice(), + None => "no message", + }; + println!("Assertion failed: {:s}", message); + } + } } impl Reflectable for Console { diff --git a/src/components/script/dom/webidls/Console.webidl b/src/components/script/dom/webidls/Console.webidl index 176ae538624..23b294596a8 100644 --- a/src/components/script/dom/webidls/Console.webidl +++ b/src/components/script/dom/webidls/Console.webidl @@ -17,4 +17,5 @@ interface Console { void info(DOMString message); void warn(DOMString message); void error(DOMString message); + void assert(boolean condition, optional DOMString message); };