From dfd369b9e992672e0df351aae870c356dfdcc7cf Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Tue, 30 Apr 2013 14:09:17 -0400 Subject: [PATCH] Make ordering of js bundles during jasmine tests consistant --- cms/envs/common.py | 8 ++++---- cms/envs/jasmine.py | 2 +- lms/envs/common.py | 21 ++++++++++++++++----- lms/envs/jasmine.py | 4 ++-- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/cms/envs/common.py b/cms/envs/common.py index 680d19ca34..8effc773e0 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -206,6 +206,8 @@ PIPELINE_CSS = { }, } +# test_order: Determines the position of this chunk of javascript on +# the jasmine test page PIPELINE_JS = { 'main': { 'source_filenames': sorted( @@ -213,6 +215,7 @@ PIPELINE_JS = { rooted_glob(PROJECT_ROOT / 'static/', 'coffee/src/**/*.js') ) + ['js/hesitate.js', 'js/base.js'], 'output_filename': 'js/cms-application.js', + 'test_order': 0 }, 'module-js': { 'source_filenames': ( @@ -220,11 +223,8 @@ PIPELINE_JS = { rooted_glob(COMMON_ROOT / 'static/', 'xmodule/modules/js/*.js') ), 'output_filename': 'js/cms-modules.js', + 'test_order': 1 }, - 'spec': { - 'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.js')), - 'output_filename': 'js/cms-spec.js' - } } PIPELINE_CSS_COMPRESSOR = None diff --git a/cms/envs/jasmine.py b/cms/envs/jasmine.py index ac28f8fc9a..70b5b217ef 100644 --- a/cms/envs/jasmine.py +++ b/cms/envs/jasmine.py @@ -20,7 +20,7 @@ PIPELINE_JS['js-test-source'] = { 'source_filenames': sum([ pipeline_group['source_filenames'] for group_name, pipeline_group - in PIPELINE_JS.items() + in sorted(PIPELINE_JS.items(), key=lambda item: item[1].get('test_order', 1e100)) if group_name != 'spec' ], []), 'output_filename': 'js/cms-test-source.js' diff --git a/lms/envs/common.py b/lms/envs/common.py index 1fe6978ac2..32a213f06e 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -440,6 +440,9 @@ PIPELINE_CSS = { }, } + +# test_order: Determines the position of this chunk of javascript on +# the jasmine test page PIPELINE_JS = { 'application': { @@ -455,31 +458,39 @@ PIPELINE_JS = { 'js/sticky_filter.js', 'js/query-params.js', ], - 'output_filename': 'js/lms-application.js' + 'output_filename': 'js/lms-application.js', + + 'test_order': 1, }, 'courseware': { 'source_filenames': courseware_js, - 'output_filename': 'js/lms-courseware.js' + 'output_filename': 'js/lms-courseware.js', + 'test_order': 2, }, 'main_vendor': { 'source_filenames': main_vendor_js, 'output_filename': 'js/lms-main_vendor.js', + 'test_order': 0, }, 'module-js': { 'source_filenames': rooted_glob(COMMON_ROOT / 'static', 'xmodule/modules/js/*.js'), 'output_filename': 'js/lms-modules.js', + 'test_order': 3, }, 'discussion': { 'source_filenames': discussion_js, - 'output_filename': 'js/discussion.js' + 'output_filename': 'js/discussion.js', + 'test_order': 4, }, 'staff_grading': { 'source_filenames': staff_grading_js, - 'output_filename': 'js/staff_grading.js' + 'output_filename': 'js/staff_grading.js', + 'test_order': 5, }, 'open_ended': { 'source_filenames': open_ended_js, - 'output_filename': 'js/open_ended.js' + 'output_filename': 'js/open_ended.js', + 'test_order': 6, } } diff --git a/lms/envs/jasmine.py b/lms/envs/jasmine.py index 8551d80504..f3f20e7fbc 100644 --- a/lms/envs/jasmine.py +++ b/lms/envs/jasmine.py @@ -20,14 +20,14 @@ PIPELINE_JS['js-test-source'] = { 'source_filenames': sum([ pipeline_group['source_filenames'] for group_name, pipeline_group - in PIPELINE_JS.items() + in sorted(PIPELINE_JS.items(), key=lambda item: item[1].get('test_order', 1e100)) if group_name != 'spec' ], []), 'output_filename': 'js/lms-test-source.js' } PIPELINE_JS['spec'] = { - 'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.coffee')), + 'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.js')), 'output_filename': 'js/lms-spec.js' }