magic_lamp 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +43 -5
- data/VERSION +1 -1
- data/app/assets/javascripts/magic_lamp/genie.js +24 -8
- data/spec/dummy/log/development.log +14358 -0
- data/spec/dummy/log/test.log +7745 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/09bc89d8ac4ccacfcf2f4db466e7735f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/18650d8ff9b0a83b32e55b58917ec791 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2ccef21649a61deac2c84f622753b77b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5bbf09297502a156801e9c65f4bd3db7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/759e97d6d411bc4cef7055a778e1bef3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/88fe64427f1fff8e41ca8ad0170da88a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8ed4b4f20fb65446181984e6df7d7c9b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/96210dc070e479fcee862294afe5efc1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/972b6b0bb1fc0b1123077b4b2f4394bd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bfa154e8a12acdbc85028ad8130d9043 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cf573b52d944e8aea7f1dc03f9be9b2c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d98de652252dc6ae11b5b6db5588705b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f0aa53eb377a5d7cc83657ef33b02d25 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f5d1b7d2ec1c89dc32cc982b43502dc8 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f6256b2e4e609981d9eb420aae5bef46 +0 -0
- data/spec/javascripts/genie_spec.js +45 -17
- data/spec/javascripts/magic_lamp_spec.js +5 -0
- metadata +2 -2
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -50,8 +50,10 @@ describe('Genie', function() {
|
|
50
50
|
|
51
51
|
describe('#load', function() {
|
52
52
|
var path;
|
53
|
+
var fixtureContent;
|
53
54
|
beforeEach(function() {
|
54
55
|
path = 'orders/foo';
|
56
|
+
fixtureContent = 'foo\n';
|
55
57
|
});
|
56
58
|
|
57
59
|
afterEach(function() {
|
@@ -59,41 +61,63 @@ describe('Genie', function() {
|
|
59
61
|
});
|
60
62
|
|
61
63
|
it('does not double append fixture containers', function() {
|
62
|
-
subject.cache[path] =
|
64
|
+
subject.cache[path] = fixtureContent;
|
63
65
|
subject.cacheOnly = true;
|
64
66
|
_(2).times(function() { subject.load(path); });
|
65
67
|
expect(document.getElementsByClassName('magic-lamp').length).to.equal(1);
|
66
68
|
});
|
67
69
|
|
70
|
+
it('appends the fixture container with the fixture to the dom', function() {
|
71
|
+
spyOn(subject, 'retrieveFixture');
|
72
|
+
expect(testFixtureContainer()).to.be.undefined;
|
73
|
+
subject.load(path);
|
74
|
+
expect(subject.retrieveFixture).to.have.been.calledWith(path);
|
75
|
+
expect(testFixtureContainer().innerHTML).to.equal(fixtureContent);
|
76
|
+
});
|
77
|
+
|
78
|
+
describe('multiple fixtures requested', function() {
|
79
|
+
it('appends the fixture container with all of the fixtures to the dom', function() {
|
80
|
+
expect(testFixtureContainer()).to.be.undefined;
|
81
|
+
subject.load(path, path, path, path);
|
82
|
+
var largeFixtureContent = fixtureContent + fixtureContent + fixtureContent + fixtureContent;
|
83
|
+
expect(testFixtureContainer().innerHTML).to.equal(largeFixtureContent);
|
84
|
+
});
|
85
|
+
});
|
86
|
+
});
|
87
|
+
|
88
|
+
describe('#retrieveFixture', function() {
|
89
|
+
var path;
|
90
|
+
var fixtureContent;
|
91
|
+
beforeEach(function() {
|
92
|
+
path = 'orders/foo';
|
93
|
+
fixtureContent = 'foo\n';
|
94
|
+
});
|
95
|
+
|
68
96
|
describe('cacheOnly false', function() {
|
69
97
|
it('requests the fixture and adds it to the cache', function() {
|
70
98
|
spyOn(subject, 'xhrRequest');
|
71
|
-
subject.
|
99
|
+
subject.retrieveFixture(path);
|
72
100
|
expect(subject.xhrRequest).to.have.been.calledOnce;
|
73
|
-
expect(subject.cache[path]).to.equal(
|
101
|
+
expect(subject.cache[path]).to.equal(fixtureContent);
|
74
102
|
});
|
75
103
|
|
76
|
-
it('
|
77
|
-
expect(
|
78
|
-
subject.load(path);
|
79
|
-
expect(testFixtureContainer().innerHTML).to.equal('foo\n');
|
104
|
+
it('returns the fixture', function() {
|
105
|
+
expect(subject.retrieveFixture(path)).to.equal(fixtureContent);
|
80
106
|
});
|
81
107
|
|
82
108
|
describe('cached', function() {
|
83
109
|
beforeEach(function() {
|
84
|
-
subject.cache[path] = 'howdy';
|
110
|
+
fixtureContent = subject.cache[path] = 'howdy';
|
85
111
|
});
|
86
112
|
|
87
113
|
it('does not make a request', function() {
|
88
114
|
spyOn(subject, 'xhrRequest');
|
89
|
-
subject.
|
115
|
+
subject.retrieveFixture(path);
|
90
116
|
expect(subject.xhrRequest).to.not.have.been.calledOnce;
|
91
117
|
});
|
92
118
|
|
93
|
-
it('
|
94
|
-
expect(
|
95
|
-
subject.load(path);
|
96
|
-
expect(testFixtureContainer().innerHTML).to.equal('howdy');
|
119
|
+
it('returns the fixture', function() {
|
120
|
+
expect(subject.retrieveFixture(path)).to.equal(fixtureContent);
|
97
121
|
});
|
98
122
|
});
|
99
123
|
});
|
@@ -105,14 +129,19 @@ describe('Genie', function() {
|
|
105
129
|
|
106
130
|
it('does not make a request', function() {
|
107
131
|
spyOn(subject, 'xhrRequest');
|
108
|
-
subject.cache[path] =
|
109
|
-
subject.
|
132
|
+
subject.cache[path] = fixtureContent;
|
133
|
+
subject.retrieveFixture(path);
|
110
134
|
expect(subject.xhrRequest).to.not.have.been.calledOnce;
|
111
135
|
});
|
112
136
|
|
137
|
+
it('returns the fixture', function() {
|
138
|
+
subject.cache[path] = fixtureContent;
|
139
|
+
expect(subject.retrieveFixture(path)).to.equal(fixtureContent);
|
140
|
+
});
|
141
|
+
|
113
142
|
it('throws an error if the fixture is not in the cache', function() {
|
114
143
|
expect(function() {
|
115
|
-
subject.
|
144
|
+
subject.retrieveFixture(path);
|
116
145
|
}).to.throw(/The fixture "orders\/foo" was not preloaded. Is the fixture registered\? Call `MagicLamp.fixtureNames\(\)` to see what is registered./);
|
117
146
|
});
|
118
147
|
});
|
@@ -231,7 +260,6 @@ describe('Genie', function() {
|
|
231
260
|
expect(subject.fixtureContainer).to.be.undefined;
|
232
261
|
});
|
233
262
|
});
|
234
|
-
|
235
263
|
});
|
236
264
|
|
237
265
|
describe('#handleError', function() {
|
@@ -227,5 +227,10 @@ describe('MagicLamp', function() {
|
|
227
227
|
subject.load('arbitrary/orders/admin_extending');
|
228
228
|
expect(testFixtureContainer().innerHTML).to.equal('Stevenson\nPaulson\n');
|
229
229
|
});
|
230
|
+
|
231
|
+
it('can load multiple fixtures', function() {
|
232
|
+
subject.load('arbitrary/orders/admin_extending', 'orders/foo');
|
233
|
+
expect(testFixtureContainer().innerHTML).to.equal('Stevenson\nPaulson\nfoo\n');
|
234
|
+
});
|
230
235
|
});
|
231
236
|
});
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_lamp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Crismali
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|