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

Delta Between Two Patch Sets: test/GlobalJsObject.cpp

Issue 10198022: Pass application data into libadblockplus (Closed)
Left Patch Set: Created April 12, 2013, 1:23 p.m.
Right Patch Set: Merged upstream, addressed issues, renamed AppInfo fields Created April 17, 2013, 2:47 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 #include <AdblockPlus.h> 1 #include <AdblockPlus.h>
2 #include <gtest/gtest.h> 2 #include <gtest/gtest.h>
3 3
4 #include "../src/Thread.h" 4 #include "../src/Thread.h"
5 5
6 TEST(GlobalJsObjectTest, SetTimeout) 6 TEST(GlobalJsObjectTest, SetTimeout)
7 { 7 {
8 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0); 8 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0);
9 jsEngine.Evaluate("setTimeout(function() {foo = 'bar';}, 100)"); 9 jsEngine.Evaluate("setTimeout(function() {foo = 'bar';}, 100)");
10 ASSERT_EQ("undefined", jsEngine.Evaluate("typeof foo")); 10 ASSERT_TRUE(jsEngine.Evaluate("this.foo")->IsUndefined());
11 AdblockPlus::Sleep(200); 11 AdblockPlus::Sleep(200);
12 ASSERT_EQ("bar", jsEngine.Evaluate("foo")); 12 ASSERT_EQ("bar", jsEngine.Evaluate("this.foo")->AsString());
13 } 13 }
14 14
15 TEST(GlobalJsObjectTest, SetTimeoutWithArgs) 15 TEST(GlobalJsObjectTest, SetTimeoutWithArgs)
16 { 16 {
17 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0); 17 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0);
18 jsEngine.Evaluate("setTimeout(function(s) {foo = s;}, 100, 'foobar')"); 18 jsEngine.Evaluate("setTimeout(function(s) {foo = s;}, 100, 'foobar')");
19 ASSERT_EQ("undefined", jsEngine.Evaluate("typeof foo")); 19 ASSERT_TRUE(jsEngine.Evaluate("this.foo")->IsUndefined());
20 AdblockPlus::Sleep(200); 20 AdblockPlus::Sleep(200);
21 ASSERT_EQ("foobar", jsEngine.Evaluate("foo")); 21 ASSERT_EQ("foobar", jsEngine.Evaluate("this.foo")->AsString());
22 } 22 }
23 23
24 TEST(GlobalJsObjectTest, SetTimeoutWithInvalidArgs) 24 TEST(GlobalJsObjectTest, SetTimeoutWithInvalidArgs)
25 { 25 {
26 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0); 26 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0);
27 ASSERT_ANY_THROW(jsEngine.Evaluate("setTimeout()")); 27 ASSERT_ANY_THROW(jsEngine.Evaluate("setTimeout()"));
28 ASSERT_ANY_THROW(jsEngine.Evaluate("setTimeout('', 1)")); 28 ASSERT_ANY_THROW(jsEngine.Evaluate("setTimeout('', 1)"));
29 ASSERT_ANY_THROW(jsEngine.Evaluate("setTimeout(function(){}, '')"));
30 } 29 }
31 30
32 TEST(GlobalJsObjectTest, SetMultipleTimeouts) 31 TEST(GlobalJsObjectTest, SetMultipleTimeouts)
33 { 32 {
34 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0); 33 AdblockPlus::JsEngine jsEngine(AdblockPlus::AppInfo(), 0, 0, 0);
35 jsEngine.Evaluate("foo = []"); 34 jsEngine.Evaluate("foo = []");
36 jsEngine.Evaluate("setTimeout(function(s) {foo.push('1');}, 100)"); 35 jsEngine.Evaluate("setTimeout(function(s) {foo.push('1');}, 100)");
37 jsEngine.Evaluate("setTimeout(function(s) {foo.push('2');}, 150)"); 36 jsEngine.Evaluate("setTimeout(function(s) {foo.push('2');}, 150)");
38 AdblockPlus::Sleep(200); 37 AdblockPlus::Sleep(200);
39 ASSERT_EQ("1,2", jsEngine.Evaluate("foo")); 38 ASSERT_EQ("1,2", jsEngine.Evaluate("this.foo")->AsString());
40 } 39 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld