[seed] clutter-pad: test and fix duplicate context creation on execute
- From: Tim Horton <hortont src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] clutter-pad: test and fix duplicate context creation on execute
- Date: Thu, 14 May 2009 17:40:52 -0400 (EDT)
commit 9af1a888692f65ba110638ec60b859db6cf3cfba
Author: Johan Euphrosine <proppy aminche com>
Date: Thu May 14 14:19:31 2009 +0000
clutter-pad: test and fix duplicate context creation on execute
---
examples/clutter-pad/main.js | 9 ++++-----
examples/clutter-pad/test.js | 27 +++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/examples/clutter-pad/main.js b/examples/clutter-pad/main.js
index 8c6dfaf..2b49f64 100755
--- a/examples/clutter-pad/main.js
+++ b/examples/clutter-pad/main.js
@@ -18,9 +18,6 @@ var context;
function reset_stage()
{
- context = new sandbox.Context();
- context.add_globals();
-
stage.remove_all();
stage.color = {alpha: 255};
@@ -130,18 +127,20 @@ function execute_file(button)
if (slice == '')
{
reset_stage();
- context.destroy();
+ if (context)
+ context.destroy();
context = new sandbox.Context();
context.add_globals();
context.eval(source_buf.text)
}
else
{
- context.eval(slice)
+ context.eval(slice);
}
}
catch (e)
{
+ Seed.print(e.message);
error_buf.text = e.message;
}
};
diff --git a/examples/clutter-pad/test.js b/examples/clutter-pad/test.js
new file mode 100644
index 0000000..25c392f
--- /dev/null
+++ b/examples/clutter-pad/test.js
@@ -0,0 +1,27 @@
+Gtk = imports.gi.Gtk;
+
+var gtkMain = Gtk.main;
+Gtk.main = function() {};
+function assertEquals(expected, value, message) {
+ if (expected != value) {
+ throw new Error('FAILED: ' + message + ', expected: ' + expected + ' got: ' + value);
+ } else {
+ Seed.print('PASS: ' + message);
+ }
+}
+
+pad = imports.main;
+
+var contexts = [];
+var sandboxContext = pad.sandbox.Context;
+pad.sandbox.Context = function() {
+ contexts.push(this);
+};
+pad.sandbox.Context.prototype = {
+ add_globals: function() {},
+ destroy: function() {},
+ eval: function() {}
+};
+
+pad.execute_file();
+assertEquals(1, contexts.length, 'execute file should create only one context');
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]