A numerical response problem accepts a line of text input from the student, and evaluates the input for correctness based on its numerical value.
The answer is correct if it is within a specified numerical tolerance of the expected answer.
Enter the numerical value of Pi:
@@ -356,7 +356,7 @@ describe 'MarkdownEditingDescriptor', ->
When the student is ready, the explanation appears.
[Explanation]
""")
- expect(data).toEqual("""
+ expect(data).toXMLEqual("""
bleh
@@ -680,7 +680,7 @@ describe 'MarkdownEditingDescriptor', ->
Code should be nicely monospaced.
[/code]
""")
- expect(data).toEqual("""
+ expect(data).toXMLEqual("""
Not a header
diff --git a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec_hint.coffee b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec_hint.coffee
index 0808afd3a5..1a9b7aad97 100644
--- a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec_hint.coffee
+++ b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec_hint.coffee
@@ -25,7 +25,7 @@ describe 'Markdown to xml extended hint dropdown', ->
]]
""")
- expect(data).toEqual("""
+ expect(data).toXMLEqual("""
Translation between Dropdown and ________ is straightforward.
diff --git a/common/lib/xmodule/xmodule/js/src/problem/edit.js b/common/lib/xmodule/xmodule/js/src/problem/edit.js
index b0d6922596..0f8fc172db 100644
--- a/common/lib/xmodule/xmodule/js/src/problem/edit.js
+++ b/common/lib/xmodule/xmodule/js/src/problem/edit.js
@@ -1,4 +1,4 @@
-/* global CodeMirror, _, XModule, PrettyPrint */
+/* global CodeMirror, _, XModule */
// no-useless-escape disabled because of warnings in regexp expressions within the
// "toXML" code. When the "useless escapes" were removed, some of the unit tests
// failed, but only in Jenkins, indicating browser-specific behavior.
@@ -819,8 +819,8 @@
}
// make all responsetypes descendants of a single problem element
// safe-lint: disable=javascript-concat-html
- finalXml = '' + responseTypesXML.join('\n\n') + finalDemandHints + '';
- return PrettyPrint.xml(finalXml);
+ finalXml = '\n' + responseTypesXML.join('\n\n') + finalDemandHints + '\n';
+ return finalXml;
};
return MarkdownEditingDescriptor;
diff --git a/common/static/js/lib/pretty-print.js b/common/static/js/lib/pretty-print.js
deleted file mode 100644
index 9b2259c8a7..0000000000
--- a/common/static/js/lib/pretty-print.js
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
-* pretty-data - nodejs plugin to pretty-print or minify data in XML, JSON and CSS formats.
-*
-* Version - 0.40.0
-* Copyright (c) 2012 Vadim Kiryukhin
-* vkiryukhin @ gmail.com
-* http://www.eslinstructor.net/pretty-data/
-*
-*
-* Code extracted for xml formatting only
-*/
-
-/* eslint-disable */
-
-(function (root, factory){
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define([], function (){
- return (root.PrettyPrint = factory());
- });
- } else {
- // Browser globals
- root.PrettyPrint = factory();
- }
-}(this, function () {
- function PrettyPrint(){
- var maxdeep = 100, // nesting level
- ix = 0;
-
- this.shift = ['\n']; // array of shifts
- this.step = ' '; // 2 spaces
-
- // initialize array with shifts //
- for (ix = 0; ix < maxdeep; ix++) {
- this.shift.push(this.shift[ix] + this.step);
- }
- }
-
- PrettyPrint.prototype.xml = function (text) {
- var ar = text.replace(/>\s{0,}<")
- .replace(/ or -1) {
- str += this.shift[deep] + ar[ix];
- inComment = true;
- // end comment or //
- if (ar[ix].search(/-->/) > -1 || ar[ix].search(/\]>/) > -1 || ar[ix].search(/!DOCTYPE/) > -1) {
- inComment = false;
- }
- } else
- // end comment or //
- if (ar[ix].search(/-->/) > -1 || ar[ix].search(/\]>/) > -1) {
- str += ar[ix];
- inComment = false;
- } else
- // //
- if (/^<\w/.exec(ar[ix - 1]) && /^<\/\w/.exec(ar[ix]) &&
- /^<[\w:\-\.\,]+/.exec(ar[ix - 1]) == /^<\/[\w:\-\.\,]+/.exec(ar[ix])[0].replace('/', '')) {
- str += ar[ix];
- if (!inComment) deep--;
- } else
- // //
- if (ar[ix].search(/<\w/) > -1 && ar[ix].search(/<\//) == -1 && ar[ix].search(/\/>/) == -1) {
- str = !inComment ? str += this.shift[deep++] + ar[ix] : str += ar[ix];
- } else
- // ... //
- if (ar[ix].search(/<\w/) > -1 && ar[ix].search(/<\//) > -1) {
- str = !inComment ? str += this.shift[deep] + ar[ix] : str += ar[ix];
- } else
- // //
- if (ar[ix].search(/<\//) > -1) {
- str = !inComment ? str += this.shift[--deep] + ar[ix] : str += ar[ix];
- } else
- // //
- if (ar[ix].search(/\/>/) > -1) {
- str = !inComment ? str += this.shift[deep] + ar[ix] : str += ar[ix];
- } else
- // xml ... ?> //
- if (ar[ix].search(/<\?/) > -1) {
- str += this.shift[deep] + ar[ix];
- } else
- // xmlns //
- if (ar[ix].search(/xmlns\:/) > -1 || ar[ix].search(/xmlns\=/) > -1) {
- str += this.shift[deep] + ar[ix];
- }
-
- else {
- str += ar[ix];
- }
- }
-
- return (str[0] == '\n') ? str.slice(1) : str;
- };
-
- return new PrettyPrint();
-}));
diff --git a/common/static/js/spec/pretty_print_xml_spec.js b/common/static/js/spec/pretty_print_xml_spec.js
deleted file mode 100644
index 35042682e6..0000000000
--- a/common/static/js/spec/pretty_print_xml_spec.js
+++ /dev/null
@@ -1,20 +0,0 @@
-describe('XML Formatting Lib', function() {
- 'use strict';
-
- it('correctly format the xml', function() {
- var rawXml = 'Belgian Waffles$5.95',
- expectedXml = '\n \n Belgian Waffles' +
- '\n $5.95\n \n';
-
- expect(window.PrettyPrint.xml(rawXml)).toEqual(expectedXml);
- });
-
- it('correctly handles the whitespaces and newlines', function() {
- var rawXml = ' Belgian Waffles' +
- '\n\n\n$5.95 ',
- expectedXml = '\n \n Belgian Waffles' +
- '\n $5.95\n \n';
-
- expect(window.PrettyPrint.xml(rawXml)).toEqual(expectedXml);
- });
-});
diff --git a/common/static/karma_common.conf.js b/common/static/karma_common.conf.js
index 51ff6fc1fd..10ef28421b 100644
--- a/common/static/karma_common.conf.js
+++ b/common/static/karma_common.conf.js
@@ -28,7 +28,6 @@ var options = {
{pattern: 'js/vendor/URI.min.js', included: true},
{pattern: 'js/test/add_ajax_prefix.js', included: true},
{pattern: 'js/test/i18n.js', included: true},
- {pattern: 'js/lib/pretty-print.js', included: true},
{pattern: 'common/js/vendor/underscore.js', included: true},
{pattern: 'common/js/vendor/underscore.string.js', included: true},
diff --git a/lms/static/karma_lms_coffee.conf.js b/lms/static/karma_lms_coffee.conf.js
index d1a4035a7b..325bb7a92e 100644
--- a/lms/static/karma_lms_coffee.conf.js
+++ b/lms/static/karma_lms_coffee.conf.js
@@ -31,7 +31,7 @@ var options = {
{pattern: 'common/js/xblock/*.js', included: true},
{pattern: 'xmodule_js/common_static/js/src/logger.js', included: true},
{pattern: 'xmodule_js/common_static/js/test/i18n.js', included: true},
- {pattern: 'xmodule_js/common_static/js/vendor/codemirror-compressed.js', included: true},
+ {pattern: 'xmodule_js/common_static/js/vendor/CodeMirror/codemirror.js', included: true},
{pattern: 'xmodule_js/common_static/js/vendor/jquery.cookie.js', included: true},
{pattern: 'xmodule_js/common_static/js/vendor/flot/jquery.flot.js', included: true},
{pattern: 'xmodule_js/common_static/coffee/src/jquery.immediateDescendents.js', included: true},