Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: test/GlobalJsObject.cpp

Issue 10085006: Implement setTimeout (Closed)
Patch Set: Created April 5, 2013, 3:49 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« src/JsEngine.cpp ('K') | « src/JsEngine.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/GlobalJsObject.cpp
===================================================================
new file mode 100644
--- /dev/null
+++ b/test/GlobalJsObject.cpp
@@ -0,0 +1,22 @@
+#include <AdblockPlus.h>
+#include <gtest/gtest.h>
+
+#include "../src/Thread.h"
+
+TEST(GlobalJsObjectTest, SetTimeout)
+{
+ AdblockPlus::JsEngine jsEngine(0, 0);
+ jsEngine.Evaluate("setTimeout(function() {foo = 'bar';}, 100)");
+ ASSERT_EQ("", jsEngine.GetGlobal("foo"));
+ AdblockPlus::Sleep(200);
+ ASSERT_EQ("bar", jsEngine.GetGlobal("foo"));
+}
+
+TEST(GlobalJsObjectTest, SetTimeoutWithArgs)
+{
+ AdblockPlus::JsEngine jsEngine(0, 0);
+ jsEngine.Evaluate("setTimeout(function(s) {foo = s;}, 100, 'foobar')");
+ ASSERT_EQ("", jsEngine.GetGlobal("foo"));
+ AdblockPlus::Sleep(200);
+ ASSERT_EQ("foobar", jsEngine.GetGlobal("foo"));
+}
Wladimir Palant 2013/04/08 08:36:00 How about testing whether two timeouts execute in
Felix Dahlke 2013/04/08 13:07:49 Sure, added a test.
« src/JsEngine.cpp ('K') | « src/JsEngine.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld