stackview_acorn_tester 2.0.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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +291 -0
- data/Rakefile +37 -0
- data/app/assets/javascripts/rails_stackview/auto_init.js +15 -0
- data/app/assets/javascripts/rails_stackview/browser.js +161 -0
- data/app/assets/javascripts/rails_stackview/plain.js +128 -0
- data/app/assets/javascripts/rails_stackview.js +11 -0
- data/app/assets/stylesheets/rails_stackview/_plain.scss +119 -0
- data/app/assets/stylesheets/rails_stackview/browser.scss +116 -0
- data/app/assets/stylesheets/rails_stackview.scss +10 -0
- data/app/controllers/stackview_data_controller.rb +91 -0
- data/app/fetch_adapters/rails_stackview/db_window_fetcher.rb +88 -0
- data/app/fetch_adapters/rails_stackview/mock_fetcher.rb +27 -0
- data/app/models/stackview_call_number.rb +2 -0
- data/app/views/rails_stackview/browser.html.erb +42 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20150602210254_create_stackview_call_numbers.rb +34 -0
- data/lib/rails_stackview/engine.rb +7 -0
- data/lib/rails_stackview/version.rb +3 -0
- data/lib/rails_stackview.rb +20 -0
- data/lib/tasks/rails_stackview_tasks.rake +4 -0
- data/test/controllers/stackview_data_controller_test.rb +55 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +17 -0
- data/test/dummy/app/assets/stylesheets/application.css +20 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/demo_controller.rb +14 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/demo/index.html.erb +14 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +67 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/test_fixture.yaml +433 -0
- data/test/fetch_adapters/db_window_fetcher_test.rb +106 -0
- data/test/fixtures/stackview_call_numbers.yml +473 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/rails_stackview_test.rb +7 -0
- data/test/test_helper.rb +42 -0
- data/vendor/assets/README.md +16 -0
- data/vendor/assets/images/stackview/bookEnd-next.png +0 -0
- data/vendor/assets/images/stackview/bookEnd-prev.png +0 -0
- data/vendor/assets/images/stackview/gloss.png +0 -0
- data/vendor/assets/images/stackview/highGloss.png +0 -0
- data/vendor/assets/images/stackview/icon-globe.png +0 -0
- data/vendor/assets/images/stackview/icon-note.png +0 -0
- data/vendor/assets/images/stackview/nav.png +0 -0
- data/vendor/assets/images/stackview/placeholder.gif +0 -0
- data/vendor/assets/images/stackview/ribbonTab.png +0 -0
- data/vendor/assets/images/stackview/serials-edge.png +0 -0
- data/vendor/assets/images/stackview/serials.png +0 -0
- data/vendor/assets/images/stackview/superGloss.png +0 -0
- data/vendor/assets/javascripts/jquery.stackview.js +21 -0
- data/vendor/assets/javascripts/stackview/jquery.easing.1.3.js +205 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.base.js +561 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.infinite.js +46 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.ministack.js +33 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.navigation.js +71 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.stackcache.js +74 -0
- data/vendor/assets/javascripts/stackview/jquery.stackview.templates.js +31 -0
- data/vendor/assets/javascripts/stackview/microtemplating.js +40 -0
- data/vendor/assets/javascripts/stackview/types/book.js +184 -0
- data/vendor/assets/javascripts/stackview/types/my_plain.js +183 -0
- data/vendor/assets/javascripts/stackview/types/serial.js +40 -0
- data/vendor/assets/javascripts/stackview/types/soundrecording.js +42 -0
- data/vendor/assets/javascripts/stackview/types/videofilm.js +56 -0
- data/vendor/assets/javascripts/stackview/types/webpage.js +42 -0
- data/vendor/assets/stackview.sha +1 -0
- data/vendor/assets/stylesheets/stackview/_book.scss +66 -0
- data/vendor/assets/stylesheets/stackview/_heatmap.scss +154 -0
- data/vendor/assets/stylesheets/stackview/_ministack.scss +43 -0
- data/vendor/assets/stylesheets/stackview/_mixins.scss +100 -0
- data/vendor/assets/stylesheets/stackview/_navigation.scss +52 -0
- data/vendor/assets/stylesheets/stackview/_plain.scss +71 -0
- data/vendor/assets/stylesheets/stackview/_serial.scss +50 -0
- data/vendor/assets/stylesheets/stackview/_soundrecording.scss +83 -0
- data/vendor/assets/stylesheets/stackview/_videofilm.scss +74 -0
- data/vendor/assets/stylesheets/stackview/_webpage.scss +82 -0
- data/vendor/assets/stylesheets/stackview/jquery.stackview.scss +171 -0
- metadata +233 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/422.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The change you wanted was rejected.</h1>
|
62
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/500.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>We're sorry, but something went wrong.</h1>
|
62
|
+
</div>
|
63
|
+
<p>If you are the application owner check the logs for more information.</p>
|
64
|
+
</div>
|
65
|
+
</body>
|
66
|
+
</html>
|
File without changes
|
@@ -0,0 +1,433 @@
|
|
1
|
+
---
|
2
|
+
record_2103416:
|
3
|
+
sort_key: M 0001
|
4
|
+
sort_key_display: M1
|
5
|
+
sort_key_type: lc
|
6
|
+
system_id: bib_3844093
|
7
|
+
title: L'adagio d'Albinoni
|
8
|
+
creator: ''
|
9
|
+
format:
|
10
|
+
measurement_page_numeric:
|
11
|
+
measurement_height_numeric:
|
12
|
+
shelfrank:
|
13
|
+
pub_date: '1984'
|
14
|
+
created_at: 2015-05-28 17:33:49.000000000 Z
|
15
|
+
proper_sort_index: 0
|
16
|
+
record_1585282:
|
17
|
+
sort_key: M 000100A100C778
|
18
|
+
sort_key_display: M1.A1 C778
|
19
|
+
sort_key_type: lc
|
20
|
+
system_id: bib_2054647
|
21
|
+
title: An anthem designed for Thanksgiving Day, but proper for any publick occasion.
|
22
|
+
Printed at Boston, by
|
23
|
+
creator: ''
|
24
|
+
format:
|
25
|
+
measurement_page_numeric:
|
26
|
+
measurement_height_numeric:
|
27
|
+
shelfrank:
|
28
|
+
pub_date: '1792'
|
29
|
+
created_at: 2015-05-28 16:44:42.000000000 Z
|
30
|
+
proper_sort_index: 1
|
31
|
+
record_229254:
|
32
|
+
sort_key: M 000100A100D400
|
33
|
+
sort_key_display: M1.A1 D4
|
34
|
+
sort_key_type: lc
|
35
|
+
system_id: bib_292952
|
36
|
+
title: 'Dear little cottage maiden : sung with the greatest applause at Vauxhall
|
37
|
+
Gardens.'
|
38
|
+
creator: Unknown
|
39
|
+
format:
|
40
|
+
measurement_page_numeric:
|
41
|
+
measurement_height_numeric:
|
42
|
+
shelfrank:
|
43
|
+
pub_date: '1796'
|
44
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
45
|
+
proper_sort_index: 2
|
46
|
+
record_229255:
|
47
|
+
sort_key: M 000100A100H400 000 OP5179
|
48
|
+
sort_key_display: M1.A1 H4 op.5 179-
|
49
|
+
sort_key_type: lc
|
50
|
+
system_id: bib_292955
|
51
|
+
title: Three sonatas for the piano forte...op.5 /
|
52
|
+
creator: Hewitt, James, 1770-1827.
|
53
|
+
format:
|
54
|
+
measurement_page_numeric:
|
55
|
+
measurement_height_numeric:
|
56
|
+
shelfrank:
|
57
|
+
pub_date: '1795'
|
58
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
59
|
+
proper_sort_index: 3
|
60
|
+
record_229257:
|
61
|
+
sort_key: M 000100A100H400B300
|
62
|
+
sort_key_display: M1.A1 H4 B3
|
63
|
+
sort_key_type: lc
|
64
|
+
system_id: bib_292954
|
65
|
+
title: 'The battle of Trenton : a sonata for the piano-forte dedicated to General
|
66
|
+
Washington.'
|
67
|
+
creator: Hewitt, James, 1770-1827.
|
68
|
+
format:
|
69
|
+
measurement_page_numeric:
|
70
|
+
measurement_height_numeric:
|
71
|
+
shelfrank:
|
72
|
+
pub_date: '1797'
|
73
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
74
|
+
proper_sort_index: 4
|
75
|
+
record_229252:
|
76
|
+
sort_key: M 000100A100H600H500
|
77
|
+
sort_key_display: M1.A1 H6 H5
|
78
|
+
sort_key_type: lc
|
79
|
+
system_id: bib_292950
|
80
|
+
title: 'Hither Mary : sung with universal applause at Vauxhall Gardens l793 /'
|
81
|
+
creator: Hook, Mr. (James), 1746-1827.
|
82
|
+
format:
|
83
|
+
measurement_page_numeric:
|
84
|
+
measurement_height_numeric:
|
85
|
+
shelfrank:
|
86
|
+
pub_date: '1793'
|
87
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
88
|
+
proper_sort_index: 5
|
89
|
+
record_229240:
|
90
|
+
sort_key: M 000100A100H600M300
|
91
|
+
sort_key_display: M1.A1 H6 M3
|
92
|
+
sort_key_type: lc
|
93
|
+
system_id: bib_292953
|
94
|
+
title: 'Ma belle coquette : a favorite song /'
|
95
|
+
creator: Hook, Mr. (James), 1746-1827.
|
96
|
+
format:
|
97
|
+
measurement_page_numeric:
|
98
|
+
measurement_height_numeric:
|
99
|
+
shelfrank:
|
100
|
+
pub_date: '1796'
|
101
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
102
|
+
proper_sort_index: 6
|
103
|
+
record_241533:
|
104
|
+
sort_key: M 000100A100M900 000 1798
|
105
|
+
sort_key_display: M1.A1 M9 1798
|
106
|
+
sort_key_type: lc
|
107
|
+
system_id: bib_306047
|
108
|
+
title: My native shore.
|
109
|
+
creator: Unknown
|
110
|
+
format:
|
111
|
+
measurement_page_numeric:
|
112
|
+
measurement_height_numeric:
|
113
|
+
shelfrank:
|
114
|
+
pub_date: '1798'
|
115
|
+
created_at: 2015-05-28 15:39:29.000000000 Z
|
116
|
+
proper_sort_index: 7
|
117
|
+
record_229258:
|
118
|
+
sort_key: M 000100A100P550
|
119
|
+
sort_key_display: M1.A1 P55
|
120
|
+
sort_key_type: lc
|
121
|
+
system_id: bib_292956
|
122
|
+
title: Henry's cottage maid /
|
123
|
+
creator: Pleyel, Ignaz, 1757-1831.
|
124
|
+
format:
|
125
|
+
measurement_page_numeric:
|
126
|
+
measurement_height_numeric:
|
127
|
+
shelfrank:
|
128
|
+
pub_date: '1794'
|
129
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
130
|
+
proper_sort_index: 8
|
131
|
+
record_229247:
|
132
|
+
sort_key: M 000100A100S700H300
|
133
|
+
sort_key_display: M1.A1 S7 H3
|
134
|
+
sort_key_type: lc
|
135
|
+
system_id: bib_292957
|
136
|
+
title: Spirit of my sainted sire ... /
|
137
|
+
creator: Storace, Stephen, 1762-1796.
|
138
|
+
format:
|
139
|
+
measurement_page_numeric:
|
140
|
+
measurement_height_numeric:
|
141
|
+
shelfrank:
|
142
|
+
pub_date: '1795'
|
143
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
144
|
+
proper_sort_index: 9
|
145
|
+
record_229265:
|
146
|
+
sort_key: M 000100A100S700M800
|
147
|
+
sort_key_display: M1.A1 S7 M8
|
148
|
+
sort_key_type: lc
|
149
|
+
system_id: bib_292964
|
150
|
+
title: Sung by Mrs. Oldmixon in the musical farce called My Grandmother ; Favourite
|
151
|
+
country dance /
|
152
|
+
creator: Storace, Stephen, 1762-1796.
|
153
|
+
format:
|
154
|
+
measurement_page_numeric:
|
155
|
+
measurement_height_numeric:
|
156
|
+
shelfrank:
|
157
|
+
pub_date: '1795'
|
158
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
159
|
+
proper_sort_index: 10
|
160
|
+
record_229259:
|
161
|
+
sort_key: M 000100A100S700S500
|
162
|
+
sort_key_display: M1.A1 S7 S5
|
163
|
+
sort_key_type: lc
|
164
|
+
system_id: bib_292958
|
165
|
+
title: 'Tho'' you think by this to vex me : a favorite duett sung by Mrs. Seymour
|
166
|
+
& Mr. Jefferson in the Sie'
|
167
|
+
creator: Storace, Stephen, 1762-1796.
|
168
|
+
format:
|
169
|
+
measurement_page_numeric:
|
170
|
+
measurement_height_numeric:
|
171
|
+
shelfrank:
|
172
|
+
pub_date: '1798'
|
173
|
+
created_at: 2015-05-28 15:39:02.000000000 Z
|
174
|
+
proper_sort_index: 11
|
175
|
+
record_211579:
|
176
|
+
sort_key: M 000100A110D300 000 NO1
|
177
|
+
sort_key_display: M1.A11 D3 no.1
|
178
|
+
sort_key_type: lc
|
179
|
+
system_id: bib_276769
|
180
|
+
title: 'New vocal instructor : containing exercises for improving and modulating
|
181
|
+
the voice ... /'
|
182
|
+
creator: Clifton, Arthur, 1784?-1832.
|
183
|
+
format:
|
184
|
+
measurement_page_numeric:
|
185
|
+
measurement_height_numeric:
|
186
|
+
shelfrank:
|
187
|
+
pub_date: '1820'
|
188
|
+
created_at: 2015-05-28 15:38:10.000000000 Z
|
189
|
+
proper_sort_index: 12
|
190
|
+
record_230305:
|
191
|
+
sort_key: M 000100A110D300 000 NO2
|
192
|
+
sort_key_display: M1.A11 D3 no.2
|
193
|
+
sort_key_type: lc
|
194
|
+
system_id: bib_294174
|
195
|
+
title: 'Singing exemplified : in a series of solfeggi and exercises ... /'
|
196
|
+
creator: Cooke, T. (Thomas), 1782-1848.
|
197
|
+
format:
|
198
|
+
measurement_page_numeric:
|
199
|
+
measurement_height_numeric:
|
200
|
+
shelfrank:
|
201
|
+
pub_date: '1829'
|
202
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
203
|
+
proper_sort_index: 13
|
204
|
+
record_230284:
|
205
|
+
sort_key: M 000100A110D300 000 NO3
|
206
|
+
sort_key_display: M1.A11 D3 no.3
|
207
|
+
sort_key_type: lc
|
208
|
+
system_id: bib_294168
|
209
|
+
title: 'Nid Noddin : a glee for three voices : soprano or contra, tenor & bass ...
|
210
|
+
/'
|
211
|
+
creator: Maeder, James G.
|
212
|
+
format:
|
213
|
+
measurement_page_numeric:
|
214
|
+
measurement_height_numeric:
|
215
|
+
shelfrank:
|
216
|
+
pub_date: '1834'
|
217
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
218
|
+
proper_sort_index: 14
|
219
|
+
record_230299:
|
220
|
+
sort_key: M 000100A110D300 000 NO4
|
221
|
+
sort_key_display: M1.A11 D3 no.4
|
222
|
+
sort_key_type: lc
|
223
|
+
system_id: bib_294169
|
224
|
+
title: 'Again, again, again : a charter glee and chorus /'
|
225
|
+
creator: Horn, Charles E, 1786-1849. (Charles Edward),
|
226
|
+
format:
|
227
|
+
measurement_page_numeric:
|
228
|
+
measurement_height_numeric:
|
229
|
+
shelfrank:
|
230
|
+
pub_date: '1834'
|
231
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
232
|
+
proper_sort_index: 15
|
233
|
+
record_230301:
|
234
|
+
sort_key: M 000100A110D300 000 NO5
|
235
|
+
sort_key_display: M1.A11 D3 no.5
|
236
|
+
sort_key_type: lc
|
237
|
+
system_id: bib_294170
|
238
|
+
title: 'In silence to his memory : glee for four voices /'
|
239
|
+
creator: King, Wm. A. (William A.)
|
240
|
+
format:
|
241
|
+
measurement_page_numeric:
|
242
|
+
measurement_height_numeric:
|
243
|
+
shelfrank:
|
244
|
+
pub_date: '1834'
|
245
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
246
|
+
proper_sort_index: 16
|
247
|
+
record_230302:
|
248
|
+
sort_key: M 000100A110D300 000 NO6
|
249
|
+
sort_key_display: M1.A11 D3 no.6
|
250
|
+
sort_key_type: lc
|
251
|
+
system_id: bib_294171
|
252
|
+
title: 'The three cheering stars : glee for four voices /'
|
253
|
+
creator: Dielman, Henry.
|
254
|
+
format:
|
255
|
+
measurement_page_numeric:
|
256
|
+
measurement_height_numeric:
|
257
|
+
shelfrank:
|
258
|
+
pub_date: '1834'
|
259
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
260
|
+
proper_sort_index: 17
|
261
|
+
record_230287:
|
262
|
+
sort_key: M 000100A110D300 000 NO7
|
263
|
+
sort_key_display: M1.A11 D3 no.7
|
264
|
+
sort_key_type: lc
|
265
|
+
system_id: bib_294172
|
266
|
+
title: The butterfly, moth and bee /
|
267
|
+
creator: Barnett, John, 1802-1890.
|
268
|
+
format:
|
269
|
+
measurement_page_numeric:
|
270
|
+
measurement_height_numeric:
|
271
|
+
shelfrank:
|
272
|
+
pub_date: '1832'
|
273
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
274
|
+
proper_sort_index: 18
|
275
|
+
record_230303:
|
276
|
+
sort_key: M 000100A110D300 000 NO8
|
277
|
+
sort_key_display: M1.A11 D3 no.8
|
278
|
+
sort_key_type: lc
|
279
|
+
system_id: bib_294173
|
280
|
+
title: 'The laughing trio : arranged from Martini''s Terzetto /'
|
281
|
+
creator: Martini, Giovanni Battista, 1706-1784.
|
282
|
+
format:
|
283
|
+
measurement_page_numeric:
|
284
|
+
measurement_height_numeric:
|
285
|
+
shelfrank:
|
286
|
+
pub_date: '1831'
|
287
|
+
created_at: 2015-05-28 15:39:05.000000000 Z
|
288
|
+
proper_sort_index: 19
|
289
|
+
record_235471:
|
290
|
+
sort_key: M 000100A120 000 000 VH4D9
|
291
|
+
sort_key_display: M1.A12 V H4 D9
|
292
|
+
sort_key_type: lc
|
293
|
+
system_id: bib_300464
|
294
|
+
title: The dying girl /
|
295
|
+
creator: Hewitt, John Hill, 1801-1890.
|
296
|
+
format:
|
297
|
+
measurement_page_numeric:
|
298
|
+
measurement_height_numeric:
|
299
|
+
shelfrank:
|
300
|
+
pub_date: '1853'
|
301
|
+
created_at: 2015-05-28 15:39:16.000000000 Z
|
302
|
+
proper_sort_index: 20
|
303
|
+
record_1729765:
|
304
|
+
sort_key: M 000100A130A292 000 1846
|
305
|
+
sort_key_display: M1.A13 A292 1846
|
306
|
+
sort_key_type: lc
|
307
|
+
system_id: bib_2264984
|
308
|
+
title: 'The Christian minstrel : a new system of musical notation : with a collection
|
309
|
+
of psalm tunes, anthe'
|
310
|
+
creator:
|
311
|
+
format:
|
312
|
+
measurement_page_numeric:
|
313
|
+
measurement_height_numeric:
|
314
|
+
shelfrank:
|
315
|
+
pub_date: '1862'
|
316
|
+
created_at: 2015-05-28 16:50:38.000000000 Z
|
317
|
+
proper_sort_index: 21
|
318
|
+
record_227482:
|
319
|
+
sort_key: M 000100A130H420
|
320
|
+
sort_key_display: M1.A13 H42
|
321
|
+
sort_key_type: lc
|
322
|
+
system_id: bib_291279
|
323
|
+
title: The dawning of music in Kentucky; or, The pleasures of harmony in the solitudes
|
324
|
+
of nature, opera pr
|
325
|
+
creator: Heinrich, Anthony Philip, 1781-1861.
|
326
|
+
format:
|
327
|
+
measurement_page_numeric:
|
328
|
+
measurement_height_numeric:
|
329
|
+
shelfrank:
|
330
|
+
pub_date: '1820'
|
331
|
+
created_at: 2015-05-28 15:38:57.000000000 Z
|
332
|
+
proper_sort_index: 22
|
333
|
+
record_241137:
|
334
|
+
sort_key: M 000100A130H887 000 OP43
|
335
|
+
sort_key_display: M1.A13 H887 op.43
|
336
|
+
sort_key_type: lc
|
337
|
+
system_id: bib_305671
|
338
|
+
title: 'Introduction & rondeau Suisse : for the piano forte : op. 43 /'
|
339
|
+
creator: Hu?nten, Franz, 1793-1878.
|
340
|
+
format:
|
341
|
+
measurement_page_numeric:
|
342
|
+
measurement_height_numeric:
|
343
|
+
shelfrank:
|
344
|
+
pub_date: '1832'
|
345
|
+
created_at: 2015-05-28 15:39:28.000000000 Z
|
346
|
+
proper_sort_index: 23
|
347
|
+
record_246801:
|
348
|
+
sort_key: M 000100A130T365 000 OP321856
|
349
|
+
sort_key_display: M1.A13 T365 op.32 1856
|
350
|
+
sort_key_type: lc
|
351
|
+
system_id: bib_310878
|
352
|
+
title: 'Andante : op. 32 /'
|
353
|
+
creator: Thalberg, Sigismond, 1812-1871.
|
354
|
+
format:
|
355
|
+
measurement_page_numeric:
|
356
|
+
measurement_height_numeric:
|
357
|
+
shelfrank:
|
358
|
+
pub_date: '1856'
|
359
|
+
created_at: 2015-05-28 15:39:40.000000000 Z
|
360
|
+
proper_sort_index: 24
|
361
|
+
record_1777434:
|
362
|
+
sort_key: M 000100A130Z995 000 1994QUARTO
|
363
|
+
sort_key_display: M1.A13 Z995 1994 QUARTO
|
364
|
+
sort_key_type: lc
|
365
|
+
system_id: bib_2335839
|
366
|
+
title: 'The Carusi family : a bibliography of musical works composed, arranged,
|
367
|
+
and published in Philadelph'
|
368
|
+
creator: ''
|
369
|
+
format:
|
370
|
+
measurement_page_numeric:
|
371
|
+
measurement_height_numeric:
|
372
|
+
shelfrank:
|
373
|
+
pub_date: '1994'
|
374
|
+
created_at: 2015-05-28 16:52:29.000000000 Z
|
375
|
+
proper_sort_index: 25
|
376
|
+
record_2037383:
|
377
|
+
sort_key: M 000100A150 000 000 VOL20NO26
|
378
|
+
sort_key_display: M1 .A15 vol. 20, no. 26
|
379
|
+
sort_key_type: lc
|
380
|
+
system_id: bib_3530236
|
381
|
+
title: "'Tis but a little faded flower : ballad /"
|
382
|
+
creator: ''
|
383
|
+
format:
|
384
|
+
measurement_page_numeric:
|
385
|
+
measurement_height_numeric:
|
386
|
+
shelfrank:
|
387
|
+
pub_date: '1860'
|
388
|
+
created_at: 2015-05-28 17:28:31.000000000 Z
|
389
|
+
proper_sort_index: 26
|
390
|
+
record_1995245:
|
391
|
+
sort_key: M 000100A150 000 000 VOL283NO2
|
392
|
+
sort_key_display: M1 .A15 vol. 283, no. 2
|
393
|
+
sort_key_type: lc
|
394
|
+
system_id: bib_3452083
|
395
|
+
title: 'Gaily, thro'' life wander : from the opera of La traviata = Libiamo ne lieti
|
396
|
+
calici /'
|
397
|
+
creator: ''
|
398
|
+
format:
|
399
|
+
measurement_page_numeric:
|
400
|
+
measurement_height_numeric:
|
401
|
+
shelfrank:
|
402
|
+
pub_date: '1855'
|
403
|
+
created_at: 2015-05-28 17:26:00.000000000 Z
|
404
|
+
proper_sort_index: 27
|
405
|
+
record_2027118:
|
406
|
+
sort_key: M 000100A150 000 000 VOL285NO11
|
407
|
+
sort_key_display: M1 .A15 vol. 285, no. 11
|
408
|
+
sort_key_type: lc
|
409
|
+
system_id: bib_3513999
|
410
|
+
title: 'Salve Maria : per soprano o mezzo soprano /'
|
411
|
+
creator: ''
|
412
|
+
format:
|
413
|
+
measurement_page_numeric:
|
414
|
+
measurement_height_numeric:
|
415
|
+
shelfrank:
|
416
|
+
pub_date: '1865'
|
417
|
+
created_at: 2015-05-28 17:27:56.000000000 Z
|
418
|
+
proper_sort_index: 28
|
419
|
+
record_2103224:
|
420
|
+
sort_key: M 000100A150 000 000 VOL33NO34
|
421
|
+
sort_key_display: M1 .A15 vol. 33, no. 34
|
422
|
+
sort_key_type: lc
|
423
|
+
system_id: bib_3840740
|
424
|
+
title: 'La prie?re d''une vierge = The maiden''s prayer : morceau de salon pour
|
425
|
+
piano /'
|
426
|
+
creator: ''
|
427
|
+
format:
|
428
|
+
measurement_page_numeric:
|
429
|
+
measurement_height_numeric:
|
430
|
+
shelfrank:
|
431
|
+
pub_date: '1859'
|
432
|
+
created_at: 2015-05-28 17:33:32.000000000 Z
|
433
|
+
proper_sort_index: 29
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
#require 'rails_stackview/db_window_fetcher'
|
3
|
+
|
4
|
+
class DbWindowFetcherTest < ActiveSupport::TestCase
|
5
|
+
setup do
|
6
|
+
@center_sort_key = 'M 000100A110D300 000 NO3'
|
7
|
+
end
|
8
|
+
|
9
|
+
test "fetch around center" do
|
10
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
11
|
+
"origin_sort_key" => @center_sort_key, "query" => "[-5 TO 5]"
|
12
|
+
)
|
13
|
+
|
14
|
+
assert_length 11, results
|
15
|
+
assert_good_list_of_hashes results
|
16
|
+
|
17
|
+
assert_equal @center_sort_key, results[5]["sort_key"]
|
18
|
+
|
19
|
+
assert_sorted_by_sort_key results
|
20
|
+
|
21
|
+
assert results.all? {|h| h["sort_key_type"] == 'lc'}
|
22
|
+
end
|
23
|
+
|
24
|
+
test "fetch positive including" do
|
25
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
26
|
+
"origin_sort_key" => @center_sort_key, "query" => "[0 TO 10]"
|
27
|
+
)
|
28
|
+
|
29
|
+
assert_length 11, results
|
30
|
+
assert_good_list_of_hashes results
|
31
|
+
|
32
|
+
assert_equal @center_sort_key, results.first["sort_key"]
|
33
|
+
|
34
|
+
assert_sorted_by_sort_key results
|
35
|
+
end
|
36
|
+
|
37
|
+
test "fetch positive ahead" do
|
38
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
39
|
+
"origin_sort_key" => @center_sort_key, "query" => "[2 TO 12]"
|
40
|
+
)
|
41
|
+
|
42
|
+
assert_length 11, results
|
43
|
+
assert_good_list_of_hashes results
|
44
|
+
|
45
|
+
assert_sorted_by_sort_key results
|
46
|
+
|
47
|
+
assert results.none? {|h| h["sort_key"] <= @center_sort_key}, "Expected all sort_keys greater than #{@center_sort_key}"
|
48
|
+
end
|
49
|
+
|
50
|
+
test "fetch negative including" do
|
51
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
52
|
+
"origin_sort_key" => @center_sort_key, "query" => "[-10 TO 0]"
|
53
|
+
)
|
54
|
+
|
55
|
+
assert_length 11, results
|
56
|
+
assert_good_list_of_hashes results
|
57
|
+
|
58
|
+
assert_equal @center_sort_key, results.last["sort_key"]
|
59
|
+
|
60
|
+
assert_sorted_by_sort_key results
|
61
|
+
end
|
62
|
+
|
63
|
+
test "fetch negative behind" do
|
64
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
65
|
+
"origin_sort_key" => @center_sort_key, "query" => "[-12 TO -2]"
|
66
|
+
)
|
67
|
+
|
68
|
+
assert_length 11, results
|
69
|
+
assert_good_list_of_hashes results
|
70
|
+
|
71
|
+
assert_sorted_by_sort_key results
|
72
|
+
|
73
|
+
assert results.none? {|h| h["sort_key"] >= @center_sort_key}, "Expected all sort_keys less than #{@center_sort_key}"
|
74
|
+
end
|
75
|
+
|
76
|
+
test "fetch too far ahead" do
|
77
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
78
|
+
"origin_sort_key" => @center_sort_key, "query" => "[100 TO 110]"
|
79
|
+
)
|
80
|
+
|
81
|
+
assert_length 0, results
|
82
|
+
end
|
83
|
+
|
84
|
+
test "fetch too far behind" do
|
85
|
+
results = RailsStackview::DbWindowFetcher.new.fetch(
|
86
|
+
"origin_sort_key" => @center_sort_key, "query" => "[-110 TO -100]"
|
87
|
+
)
|
88
|
+
|
89
|
+
assert_length 0, results
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
def assert_sorted_by_sort_key(arr)
|
94
|
+
assert_equal arr, arr.sort_by {|h| h["sort_key"]}, "Expected #{arr} to be sorted by sort_key"
|
95
|
+
end
|
96
|
+
|
97
|
+
def assert_good_list_of_hashes(results)
|
98
|
+
assert_kind_of Array, results
|
99
|
+
results.each do |r|
|
100
|
+
assert_kind_of Hash, r
|
101
|
+
assert_present r["title"]
|
102
|
+
assert_kind_of Array, r["creator"]
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|