extjs-mvc 0.4.0.e → 0.4.0.f

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/Rakefile +2 -2
  2. data/VERSION +1 -1
  3. data/bin/extjs-mvc +1 -0
  4. data/lib/extjs-mvc/api.rb +48 -0
  5. data/lib/extjs-mvc.rb +13 -9
  6. data/lib/{vendor → src}/App.js +0 -0
  7. data/lib/{vendor → src}/MVC.js +0 -0
  8. data/lib/{vendor → src}/Presenter.js +0 -0
  9. data/lib/{vendor → src}/README.rdoc +0 -0
  10. data/lib/{vendor → src}/controller/Controller.js +0 -0
  11. data/lib/{vendor → src}/controller/CrudController.js +0 -0
  12. data/lib/{vendor → src}/lib/Array.js +0 -0
  13. data/lib/{vendor → src}/lib/Booter.js +0 -0
  14. data/lib/{vendor → src}/lib/ClassManager.js +0 -0
  15. data/lib/{vendor → src}/lib/ControllerClassManager.js +0 -0
  16. data/lib/{vendor → src}/lib/Dependencies.js +0 -0
  17. data/lib/{vendor → src}/lib/DispatchMatcher.js +0 -0
  18. data/lib/{vendor → src}/lib/Dispatcher.js +0 -0
  19. data/lib/{vendor → src}/lib/Environment.js +0 -0
  20. data/lib/{vendor → src}/lib/Inflector.js +0 -0
  21. data/lib/{vendor → src}/lib/ModelClassManager.js +0 -0
  22. data/lib/{vendor → src}/lib/Route.js +0 -0
  23. data/lib/{vendor → src}/lib/Router.js +0 -0
  24. data/lib/{vendor → src}/lib/String.js +0 -0
  25. data/lib/{vendor → src}/lib/ViewClassManager.js +0 -0
  26. data/lib/{vendor → src}/lib/notes.txt +0 -0
  27. data/lib/{vendor → src}/model/AdapterManager.js +0 -0
  28. data/lib/{vendor → src}/model/Association.js +0 -0
  29. data/lib/{vendor → src}/model/Base.js +0 -0
  30. data/lib/{vendor → src}/model/BelongsToAssociation.js +0 -0
  31. data/lib/{vendor → src}/model/Cache.js +0 -0
  32. data/lib/{vendor → src}/model/HasManyAssociation.js +0 -0
  33. data/lib/{vendor → src}/model/Model.js +0 -0
  34. data/lib/{vendor → src}/model/UrlBuilder.js +0 -0
  35. data/lib/{vendor → src}/model/adapters/AbstractAdapter.js +0 -0
  36. data/lib/{vendor → src}/model/adapters/MemoryAdapter.js +0 -0
  37. data/lib/{vendor → src}/model/adapters/RESTAdapter.js +0 -0
  38. data/lib/{vendor → src}/model/adapters/RESTJSONAdapter.js +0 -0
  39. data/lib/{vendor → src}/model/adapters/notes.txt +0 -0
  40. data/lib/{vendor → src}/model/associations/Association.js +0 -0
  41. data/lib/{vendor → src}/model/associations/notes.txt +0 -0
  42. data/lib/{vendor → src}/model/validations/Errors.js +0 -0
  43. data/lib/{vendor → src}/model/validations/Plugin.js +0 -0
  44. data/lib/{vendor → src}/model/validations/Validations.js +0 -0
  45. data/lib/{vendor → src}/notes/Charts.graffle +0 -0
  46. data/lib/{vendor → src}/overrides/Ext.Component.js +0 -0
  47. data/lib/{vendor → src}/overrides/Ext.extend.js +0 -0
  48. data/lib/{vendor → src}/spec/Array.spec.js +0 -0
  49. data/lib/{vendor → src}/spec/ExtMVC.spec.js +0 -0
  50. data/lib/{vendor → src}/spec/Model.spec.js +0 -0
  51. data/lib/{vendor → src}/spec/OS.spec.js +0 -0
  52. data/lib/{vendor → src}/spec/Router.spec.js +0 -0
  53. data/lib/{vendor → src}/spec/SpecHelper.js +0 -0
  54. data/lib/{vendor → src}/spec/String.spec.js +0 -0
  55. data/lib/{vendor → src}/spec/model/AbstractAdapter.spec.js +0 -0
  56. data/lib/{vendor → src}/spec/model/Associations.spec.js +0 -0
  57. data/lib/{vendor → src}/spec/model/Cache.spec.js +0 -0
  58. data/lib/{vendor → src}/spec/model/RESTAdapter.spec.js +0 -0
  59. data/lib/{vendor → src}/spec/model/ValidationErrors.spec.js +0 -0
  60. data/lib/{vendor → src}/spec/model/Validations.spec.js +0 -0
  61. data/lib/{vendor → src}/spec/model/ValidationsPlugin.spec.js +0 -0
  62. data/lib/{vendor → src}/spec/suite.html +0 -0
  63. data/lib/{vendor → src}/specs-old/JSSpec.css +0 -0
  64. data/lib/{vendor → src}/specs-old/JSSpec.js +0 -0
  65. data/lib/{vendor → src}/specs-old/all.html +0 -0
  66. data/lib/{vendor → src}/specs-old/base.js +0 -0
  67. data/lib/{vendor → src}/specs-old/controller.js +0 -0
  68. data/lib/{vendor → src}/specs-old/diff_match_patch.js +0 -0
  69. data/lib/{vendor → src}/specs-old/model.js +0 -0
  70. data/lib/{vendor → src}/specs-old/route.js +0 -0
  71. data/lib/{vendor → src}/specs-old/router.js +0 -0
  72. data/lib/{vendor → src}/specs-old/string.js +0 -0
  73. data/lib/{vendor → src}/testrunner/JSpecFormatter.js +0 -0
  74. data/lib/{vendor → src}/testrunner/TestClient.js +0 -0
  75. data/lib/{vendor → src}/testrunner/TestGrid.js +0 -0
  76. data/lib/{vendor → src}/testrunner/TestRunner.js +0 -0
  77. data/lib/{vendor → src}/testrunner/TestViewport.js +0 -0
  78. data/lib/src/vendor/ext-3.1.1/vendor.yml +16 -0
  79. data/lib/src/vendor.yml +29 -0
  80. data/lib/{vendor → src}/view/FormWindow.js +0 -0
  81. data/lib/{vendor → src}/view/HasManyEditorGridPanel.js +0 -0
  82. data/lib/{vendor → src}/view/scaffold/Edit.js +0 -0
  83. data/lib/{vendor → src}/view/scaffold/Index.js +0 -0
  84. data/lib/{vendor → src}/view/scaffold/New.js +0 -0
  85. data/lib/{vendor → src}/view/scaffold/ScaffoldFormPanel.js +0 -0
  86. data/lib/vendor.yml +3 -1
  87. metadata +101 -102
  88. data/lib/vendor/vendor/screw-unit/EXAMPLE.html +0 -68
  89. data/lib/vendor/vendor/screw-unit/LICENSE +0 -22
  90. data/lib/vendor/vendor/screw-unit/README.markdown +0 -307
  91. data/lib/vendor/vendor/screw-unit/lib/jquery-1.2.3.js +0 -3408
  92. data/lib/vendor/vendor/screw-unit/lib/jquery.fn.js +0 -29
  93. data/lib/vendor/vendor/screw-unit/lib/jquery.print.js +0 -108
  94. data/lib/vendor/vendor/screw-unit/lib/screw.assets.js +0 -36
  95. data/lib/vendor/vendor/screw-unit/lib/screw.behaviors.js +0 -91
  96. data/lib/vendor/vendor/screw-unit/lib/screw.builder.js +0 -80
  97. data/lib/vendor/vendor/screw-unit/lib/screw.css +0 -91
  98. data/lib/vendor/vendor/screw-unit/lib/screw.events.js +0 -42
  99. data/lib/vendor/vendor/screw-unit/lib/screw.matchers.js +0 -145
  100. data/lib/vendor/vendor/screw-unit/lib/screw.server.js +0 -21
  101. data/lib/vendor/vendor/screw-unit/spec/behaviors_spec.js +0 -178
  102. data/lib/vendor/vendor/screw-unit/spec/matchers_spec.js +0 -237
  103. data/lib/vendor/vendor/screw-unit/spec/print_spec.js +0 -119
  104. data/lib/vendor/vendor/screw-unit/spec/spec_helper.js +0 -0
  105. data/lib/vendor/vendor/screw-unit/spec/suite.html +0 -18
@@ -1,29 +0,0 @@
1
- (function($) {
2
- $.fn.fn = function() {
3
- var self = this;
4
- var extension = arguments[0], name = arguments[0];
5
- if (typeof name == "string") {
6
- return apply(self, name, $.makeArray(arguments).slice(1, arguments.length));
7
- } else {
8
- $.each(extension, function(key, value) {
9
- define(self, key, value);
10
- });
11
- return self;
12
- }
13
- }
14
- function define(self, name, fn) {
15
- self.data(namespacedName(name), fn);
16
- };
17
- function apply(self, name, args) {
18
- var result;
19
- self.each(function(i, item) {
20
- var fn = $(item).data(namespacedName(name));
21
- if (fn) result = fn.apply(item, args)
22
- else throw(name + " is not defined");
23
- });
24
- return result;
25
- };
26
- function namespacedName(name) {
27
- return 'fn.' + name;
28
- }
29
- })(jQuery);
@@ -1,108 +0,0 @@
1
- (function($) {
2
-
3
- function print_array(obj, opts) {
4
- var result = [];
5
- for (var i = 0; i < Math.min(opts.max_array, obj.length); i++)
6
- result.push($.print(obj[i], $.extend({}, opts, { max_array: 3, max_string: 40 })));
7
-
8
- if (obj.length > opts.max_array)
9
- result.push((obj.length - opts.max_array) + ' more...');
10
- if (result.length == 0) return "[]"
11
- return "[ " + result.join(", ") + " ]";
12
- }
13
-
14
- function print_element(obj) {
15
- if (obj.nodeType == 1) {
16
- var result = [];
17
- var properties = [ 'className', 'id' ];
18
- var extra = {
19
- 'input': ['type', 'name', 'value'],
20
- 'a': ['href', 'target'],
21
- 'form': ['method', 'action']
22
- };
23
- $.each(properties.concat(extra[obj.tagName.toLowerCase()] || []), function() {
24
- if (obj[this])
25
- result.push(' ' + this.replace('className', 'class') + "=" + $.print(obj[this]))
26
- });
27
- return "<" + obj.tagName.toLowerCase()
28
- + result.join('') + ">";
29
- }
30
- }
31
-
32
- function print_object(obj, opts) {
33
- var seen = opts.seen || [];
34
-
35
- var result = [], key, value;
36
- for (var k in obj) {
37
- if (obj.hasOwnProperty(k) && $.inArray(obj[k], seen) < 0) {
38
- seen.push(obj[k]);
39
- value = $.print(obj[k], $.extend({}, opts, { max_array: 6, max_string: 40, seen: seen }));
40
- } else
41
- value = "...";
42
- result.push(k + ": " + value);
43
- }
44
- if (result.length == 0) return "{}";
45
- return "{ " + result.join(", ") + " }";
46
- }
47
-
48
- function print_jquery(obj) {
49
- }
50
-
51
- function print_string(value, opts) {
52
- var character_substitutions = {
53
- '\b': '\\b',
54
- '\t': '\\t',
55
- '\n': '\\n',
56
- '\f': '\\f',
57
- '\r': '\\r',
58
- '"' : '\\"',
59
- '\\': '\\\\'
60
- };
61
- var r = /["\\\x00-\x1f\x7f-\x9f]/g;
62
-
63
- var str = r.test(value)
64
- ? '"' + value.replace(r, function (a) {
65
- var c = character_substitutions[a];
66
- if (c) return c;
67
- c = a.charCodeAt();
68
- return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
69
- }) + '"'
70
- : '"' + value + '"';
71
- if (str.length > opts.max_string)
72
- return str.slice(0, opts.max_string + 1) + '..."';
73
- else
74
- return str;
75
- }
76
-
77
- $.print = function(obj, options) {
78
- var opts = $.extend({}, { max_array: 10, max_string: 100 }, options);
79
-
80
- if (typeof obj == 'undefined')
81
- return "undefined";
82
- else if (typeof obj == 'boolean')
83
- return obj.toString();
84
- else if (!obj && typeof obj == 'number')
85
- return 'NaN';
86
- else if (!obj)
87
- return "null";
88
- else if (typeof obj == 'string')
89
- return print_string(obj, opts);
90
- else if (obj instanceof RegExp)
91
- return obj.toString();
92
- else if (typeof obj == 'function' || obj instanceof Function)
93
- return obj.toString().match(/^([^)]*\))/)[1];
94
- else if (obj instanceof Array)
95
- return print_array(obj, opts);
96
- else if (obj.nodeType)
97
- return print_element(obj);
98
- else if (obj instanceof jQuery)
99
- return "$(" + $.print(obj.get()) + ")";
100
- else if (obj instanceof Error)
101
- return print_object(obj, $.extend({}, options, { max_string: 200 }));
102
- else if (obj instanceof Object)
103
- return print_object(obj, opts);
104
- else
105
- return obj.toString().replace(/\n\s*/g, '');
106
- }
107
-
108
- })(jQuery);
@@ -1,36 +0,0 @@
1
- (function() {
2
- Screw.Assets = {};
3
- Screw.Assets.use_cache_buster = false; // TODO: NS/CTI - make this configurable from the UI.
4
- var required_paths = [];
5
- var included_stylesheets = {};
6
- var cache_buster = parseInt(new Date().getTime()/(1*1000));
7
-
8
- Screw.Assets.require = function(javascript_path, onload) {
9
- if(!required_paths[javascript_path]) {
10
- var full_path = javascript_path + ".js";
11
- if (Screw.Assets.use_cache_buster) {
12
- full_path += '?' + cache_buster;
13
- }
14
- document.write("<script src='" + full_path + "' type='text/javascript'></script>");
15
- if(onload) {
16
- var scripts = document.getElementsByTagName('script');
17
- scripts[scripts.length-1].onload = onload;
18
- }
19
- required_paths[javascript_path] = true;
20
- }
21
- };
22
-
23
- Screw.Assets.stylesheet = function(stylesheet_path) {
24
- if(!included_stylesheets[stylesheet_path]) {
25
- var full_path = stylesheet_path + ".css";
26
- if(Screw.Assets.use_cache_buster) {
27
- full_path += '?' + cache_buster;
28
- }
29
- document.write("<link rel='stylesheet' type='text/css' href='" + full_path + "' />");
30
- included_stylesheets[stylesheet_path] = true;
31
- }
32
- };
33
-
34
- window.require = Screw.Assets.require;
35
- window.stylesheet = Screw.Assets.stylesheet;
36
- })();
@@ -1,91 +0,0 @@
1
- (function($) {
2
- $(Screw).bind('loaded', function() {
3
- $('.status').fn({
4
- display: function() {
5
- $(this).text(
6
- $('.passed').length + $('.failed').length + ' test(s), ' + $('.failed').length + ' failure(s)'
7
- );
8
- }
9
- });
10
-
11
- $('.describe').fn({
12
- parent: function() {
13
- return $(this).parent('.describes').parent('.describe');
14
- },
15
-
16
- run_befores: function() {
17
- $(this).fn('parent').fn('run_befores');
18
- $(this).children('.befores').children('.before').fn('run');
19
- },
20
-
21
- run_afters: function() {
22
- $(this).fn('parent').fn('run_afters');
23
- $(this).children('.afters').children('.after').fn('run');
24
- },
25
-
26
- enqueue: function() {
27
- $(this).children('.its').children('.it').fn('enqueue');
28
- $(this).children('.describes').children('.describe').fn('enqueue');
29
- },
30
-
31
- selector: function() {
32
- return $(this).fn('parent').fn('selector')
33
- + ' > .describes > .describe:eq(' + $(this).parent('.describes').children('.describe').index(this) + ')';
34
- }
35
- });
36
-
37
- $('body > .describe').fn({
38
- selector: function() { return 'body > .describe' }
39
- });
40
-
41
- $('.it').fn({
42
- parent: function() {
43
- return $(this).parent('.its').parent('.describe');
44
- },
45
-
46
- run: function() {
47
- try {
48
- try {
49
- $(this).fn('parent').fn('run_befores');
50
- $(this).data('screwunit.run')();
51
- } finally {
52
- $(this).fn('parent').fn('run_afters');
53
- }
54
- $(this).trigger('passed');
55
- } catch(e) {
56
- $(this).trigger('failed', [e]);
57
- }
58
- },
59
-
60
- enqueue: function() {
61
- var self = $(this).trigger('enqueued');
62
- $(Screw)
63
- .queue(function() {
64
- self.fn('run');
65
- setTimeout(function() { $(Screw).dequeue() }, 0);
66
- });
67
- },
68
-
69
- selector: function() {
70
- return $(this).fn('parent').fn('selector')
71
- + ' > .its > .it:eq(' + $(this).parent('.its').children('.it').index(this) + ')';
72
- }
73
- });
74
-
75
- $('.before').fn({
76
- run: function() { $(this).data('screwunit.run')() }
77
- });
78
-
79
- $('.after').fn({
80
- run: function() { $(this).data('screwunit.run')() }
81
- });
82
-
83
- $(Screw).trigger('before');
84
- var to_run = unescape(location.search.slice(1)) || 'body > .describe > .describes > .describe';
85
- $(to_run)
86
- .focus()
87
- .eq(0).trigger('scroll').end()
88
- .fn('enqueue');
89
- $(Screw).queue(function() { $(Screw).trigger('after') });
90
- })
91
- })(jQuery);
@@ -1,80 +0,0 @@
1
- var Screw = (function($) {
2
- var screw = {
3
- Unit: function(fn) {
4
- var contents = fn.toString().match(/^[^\{]*{((.*\n*)*)}/m)[1];
5
- var fn = new Function("matchers", "specifications",
6
- "with (specifications) { with (matchers) { " + contents + " } }"
7
- );
8
-
9
- $(Screw).queue(function() {
10
- Screw.Specifications.context.push($('body > .describe'));
11
- fn.call(this, Screw.Matchers, Screw.Specifications);
12
- Screw.Specifications.context.pop();
13
- $(this).dequeue();
14
- });
15
- },
16
-
17
- Specifications: {
18
- context: [],
19
-
20
- describe: function(name, fn) {
21
- var describe = $('<li class="describe">')
22
- .append($('<h1>').text(name))
23
- .append('<ol class="befores">')
24
- .append('<ul class="its">')
25
- .append('<ul class="describes">')
26
- .append('<ol class="afters">');
27
-
28
- this.context.push(describe);
29
- fn.call();
30
- this.context.pop();
31
-
32
- this.context[this.context.length-1]
33
- .children('.describes')
34
- .append(describe);
35
- },
36
-
37
- it: function(name, fn) {
38
- var it = $('<li class="it">')
39
- .append($('<h2>').text(name))
40
- .data('screwunit.run', fn);
41
-
42
- this.context[this.context.length-1]
43
- .children('.its')
44
- .append(it);
45
- },
46
-
47
- before: function(fn) {
48
- var before = $('<li class="before">')
49
- .data('screwunit.run', fn);
50
-
51
- this.context[this.context.length-1]
52
- .children('.befores')
53
- .append(before);
54
- },
55
-
56
- after: function(fn) {
57
- var after = $('<li class="after">')
58
- .data('screwunit.run', fn);
59
-
60
- this.context[this.context.length-1]
61
- .children('.afters')
62
- .append(after);
63
- }
64
- }
65
- };
66
-
67
- $(screw).queue(function() { $(screw).trigger('loading') });
68
- $(function() {
69
- $('<div class="describe">')
70
- .append('<h3 class="status">')
71
- .append('<ol class="befores">')
72
- .append('<ul class="describes">')
73
- .append('<ol class="afters">')
74
- .appendTo('body');
75
-
76
- $(screw).dequeue();
77
- $(screw).trigger('loaded');
78
- });
79
- return screw;
80
- })(jQuery);
@@ -1,91 +0,0 @@
1
- html {
2
- padding: 0.5em;
3
- font-family: Georgia, serif;
4
- background: #EDEBD5;
5
- font-size: 0.7em;
6
- }
7
-
8
- li {
9
- list-style-type: none;
10
- }
11
-
12
- .focused {
13
- background-color: #F4F2E4;
14
- }
15
-
16
- .focused * {
17
- opacity: 1.0;
18
- }
19
-
20
- h1, h2, p {
21
- opacity: 0.4;
22
- }
23
-
24
- .describes {
25
- padding-left: 0;
26
- }
27
-
28
- .describes h1 {
29
- font-size: 1.1em;
30
- color: #877C21;
31
- line-height: 1.8em;
32
- margin: 0pt 0pt 0.6em;
33
- border-bottom: 1px solid transparent;
34
- }
35
-
36
- .describes h1:hover {
37
- cursor: pointer;
38
- color: #000;
39
- background-color: #F4F2E4;
40
- border-bottom: 1px solid #9A8E51;
41
- }
42
-
43
- .describes .describe {
44
- margin-left: 0.6em;
45
- padding-left: 0.6em;
46
- border: 1px dashed grey;
47
- }
48
-
49
- .describes .describe .its {}
50
-
51
- .describes .describe .its .it {
52
- list-style-type: lower-roman;
53
- list-style-position: outside;
54
- }
55
-
56
- .describes .describe .its .it h2 {
57
- font-weight: normal;
58
- font-style: italic;
59
- padding-left: 0.5em;
60
- font-size: 1.0em;
61
- color: #877C21;
62
- line-height: 1.8em;
63
- margin: 0 0 0.5em;
64
- border-bottom: 1px solid transparent;
65
- }
66
-
67
- .describes .describe .its .it.enqueued h2 {
68
- background-color: #CC6600;
69
- color: white !important;
70
- }
71
-
72
- .describes .describe .its .it.passed h2 {
73
- background-color: #5A753D;
74
- color: white !important;
75
- }
76
-
77
- .describes .describe .its .it.failed h2 {
78
- background-color: #993300;
79
- color: white !important;
80
- }
81
-
82
- .describes .describe .its .it.failed p {
83
- margin-left: 1em;
84
- color: #993300;
85
- }
86
-
87
- .describes .describe .its .it h2:hover {
88
- cursor: pointer;
89
- color: #000 !important;
90
- border-bottom: 1px solid #9A8E51;
91
- }
@@ -1,42 +0,0 @@
1
- (function($) {
2
- $(Screw)
3
- .bind('loaded', function() {
4
- $('.describe, .it')
5
- .click(function() {
6
- document.location = location.href.split('?')[0] + '?' + $(this).fn('selector');
7
- return false;
8
- })
9
- .focus(function() {
10
- return $(this).addClass('focused');
11
- })
12
- .bind('scroll', function() {
13
- document.body.scrollTop = $(this).offset().top;
14
- });
15
-
16
- $('.it')
17
- .bind('enqueued', function() {
18
- $(this).addClass('enqueued');
19
- })
20
- .bind('running', function() {
21
- $(this).addClass('running');
22
- })
23
- .bind('passed', function() {
24
- $(this).addClass('passed');
25
- })
26
- .bind('failed', function(e, reason) {
27
- $(this)
28
- .addClass('failed')
29
- .append($('<p class="error">').text(reason.toString()));
30
- if (reason.fileName || reason.lineNumber) {
31
- $(this)
32
- .append($('<p class="error">').text(reason.fileName + " : " + reason.lineNumber));
33
- }
34
- })
35
- })
36
- .bind('before', function() {
37
- $('.status').text('Running...');
38
- })
39
- .bind('after', function() {
40
- $('.status').fn('display')
41
- })
42
- })(jQuery);
@@ -1,145 +0,0 @@
1
- Screw.Matchers = (function($) {
2
- return matchers = {
3
- expect: function(actual) {
4
- return {
5
- to: function(matcher, expected, not) {
6
- var matched = matcher.match(expected, actual);
7
- if (not ? matched : !matched) {
8
- throw(matcher.failure_message(expected, actual, not));
9
- }
10
- },
11
-
12
- to_not: function(matcher, expected) {
13
- this.to(matcher, expected, true);
14
- }
15
- }
16
- },
17
-
18
- equal: {
19
- match: function(expected, actual) {
20
- if (expected instanceof Array) {
21
- for (var i = 0; i < actual.length; i++)
22
- if (!Screw.Matchers.equal.match(expected[i], actual[i])) return false;
23
- return actual.length == expected.length;
24
- } else if (expected instanceof Object) {
25
- for (var key in expected)
26
- if (expected[key] != actual[key]) return false;
27
- for (var key in actual)
28
- if (actual[key] != expected[key]) return false;
29
- return true;
30
- } else {
31
- return expected == actual;
32
- }
33
- },
34
-
35
- failure_message: function(expected, actual, not) {
36
- return 'expected ' + $.print(actual) + (not ? ' to not equal ' : ' to equal ') + $.print(expected);
37
- }
38
- },
39
-
40
- match: {
41
- match: function(expected, actual) {
42
- if (expected.constructor == RegExp)
43
- return expected.exec(actual.toString());
44
- else
45
- return actual.indexOf(expected) > -1;
46
- },
47
-
48
- failure_message: function(expected, actual, not) {
49
- return 'expected ' + $.print(actual) + (not ? ' to not match ' : ' to match ') + $.print(expected);
50
- }
51
- },
52
-
53
- be_empty: {
54
- match: function(expected, actual) {
55
- if (actual.length == undefined) throw(actual.toString() + " does not respond to length");
56
-
57
- return actual.length == 0;
58
- },
59
-
60
- failure_message: function(expected, actual, not) {
61
- return 'expected ' + $.print(actual) + (not ? ' to not be empty' : ' to be empty');
62
- }
63
- },
64
-
65
- have_length: {
66
- match: function(expected, actual) {
67
- if (actual.length == undefined) throw(actual.toString() + " does not respond to length");
68
-
69
- return actual.length == expected;
70
- },
71
-
72
- failure_message: function(expected, actual, not) {
73
- return 'expected ' + $.print(actual) + (not ? ' to not' : ' to') + ' have length ' + expected;
74
- }
75
- },
76
-
77
- be_null: {
78
- match: function(expected, actual) {
79
- return actual == null;
80
- },
81
-
82
- failure_message: function(expected, actual, not) {
83
- return 'expected ' + $.print(actual) + (not ? ' to not be null' : ' to be null');
84
- }
85
- },
86
-
87
- be_undefined: {
88
- match: function(expected, actual) {
89
- return actual == undefined;
90
- },
91
-
92
- failure_message: function(expected, actual, not) {
93
- return 'expected ' + $.print(actual) + (not ? ' to not be undefined' : ' to be undefined');
94
- }
95
- },
96
-
97
- be_true: {
98
- match: function(expected, actual) {
99
- return actual;
100
- },
101
-
102
- failure_message: function(expected, actual, not) {
103
- return 'expected ' + $.print(actual) + (not ? ' to not be true' : ' to be true');
104
- }
105
- },
106
-
107
- be_false: {
108
- match: function(expected, actual) {
109
- return !actual;
110
- },
111
-
112
- failure_message: function(expected, actual, not) {
113
- return 'expected ' + $.print(actual) + (not ? ' to not be false' : ' to be false');
114
- }
115
- },
116
-
117
- match_selector: {
118
- match: function(expected, actual) {
119
- if (!(actual instanceof jQuery)) {
120
- throw expected.toString() + " must be an instance of jQuery to match against a selector"
121
- }
122
-
123
- return actual.is(expected);
124
- },
125
-
126
- failure_message: function(expected, actual, not) {
127
- return 'expected ' + $.print(actual) + (not ? ' to not match selector ' : ' to match selector ') + expected;
128
- }
129
- },
130
-
131
- contain_selector: {
132
- match: function(expected, actual) {
133
- if (!(actual instanceof jQuery)) {
134
- throw expected.toString() + " must be an instance of jQuery to match against a selector"
135
- }
136
-
137
- return actual.find(expected).length > 0;
138
- },
139
-
140
- failure_message: function(expected, actual, not) {
141
- return 'expected ' + $.print(actual) + (not ? ' to not contain selector ' : ' to contain selector ') + expected;
142
- }
143
- }
144
- }
145
- })(jQuery);
@@ -1,21 +0,0 @@
1
- (function($) {
2
- var ajax = $.ajax;
3
- $(Screw).bind('after', function() {
4
- var error_text = $(".error").map(function(i, element) {
5
- return element.innerHTML;
6
- }).get().join("\n");
7
-
8
- var suite_id;
9
- if(top.runOptions) {
10
- suite_id = top.runOptions.getSessionId();
11
- } else {
12
- suite_id = 'user';
13
- }
14
-
15
- ajax({
16
- type: "POST",
17
- url: '/suites/' + suite_id + '/finish',
18
- data: {"text": error_text}
19
- });
20
- });
21
- })(jQuery);