From c0df000178e8c92bcfbb3b4e8891902fc7c53357 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Tue, 14 Dec 2021 17:18:23 +0900 Subject: [PATCH] Move tests to `test/runtime` --- test/js/samples/pre-tag/expected.js | 86 ----------------- .../samples/preserve-whitespaces/_config.js | 5 - .../samples/preserve-whitespaces/expected.js | 92 ------------------- test/runtime/samples/pre-tag/_config.js | 57 ++++++++++++ .../samples/pre-tag/main.svelte} | 6 +- .../samples/preserve-whitespaces/_config.js | 66 +++++++++++++ .../samples/preserve-whitespaces/main.svelte} | 6 +- 7 files changed, 129 insertions(+), 189 deletions(-) delete mode 100644 test/js/samples/pre-tag/expected.js delete mode 100644 test/js/samples/preserve-whitespaces/_config.js delete mode 100644 test/js/samples/preserve-whitespaces/expected.js create mode 100644 test/runtime/samples/pre-tag/_config.js rename test/{js/samples/preserve-whitespaces/input.svelte => runtime/samples/pre-tag/main.svelte} (78%) create mode 100644 test/runtime/samples/preserve-whitespaces/_config.js rename test/{js/samples/pre-tag/input.svelte => runtime/samples/preserve-whitespaces/main.svelte} (78%) diff --git a/test/js/samples/pre-tag/expected.js b/test/js/samples/pre-tag/expected.js deleted file mode 100644 index c037693c30..0000000000 --- a/test/js/samples/pre-tag/expected.js +++ /dev/null @@ -1,86 +0,0 @@ -/* generated by Svelte vX.Y.Z */ -import { - SvelteComponent, - detach, - element, - init, - insert, - noop, - safe_not_equal, - space -} from "svelte/internal"; - -function create_fragment(ctx) { - let pre0; - let t3; - let div0; - let t7; - let div1; - - return { - c() { - pre0 = element("pre"); - - pre0.innerHTML = ` - A - B - - C - D - - E - F -`; - - t3 = space(); - div0 = element("div"); - - div0.innerHTML = `A - B - C - D - E - F`; - - t7 = space(); - div1 = element("div"); - - div1.innerHTML = `
-    A
-    B
-    
-      C
-      D
-    
-    E
-    F
-  
`; - }, - m(target, anchor) { - insert(target, pre0, anchor); - insert(target, t3, anchor); - insert(target, div0, anchor); - insert(target, t7, anchor); - insert(target, div1, anchor); - }, - p: noop, - i: noop, - o: noop, - d(detaching) { - if (detaching) detach(pre0); - if (detaching) detach(t3); - if (detaching) detach(div0); - if (detaching) detach(t7); - if (detaching) detach(div1); - } - }; -} - -class Component extends SvelteComponent { - constructor(options) { - super(); - init(this, options, null, create_fragment, safe_not_equal, {}); - } -} - -export default Component; diff --git a/test/js/samples/preserve-whitespaces/_config.js b/test/js/samples/preserve-whitespaces/_config.js deleted file mode 100644 index 65ae5c9c93..0000000000 --- a/test/js/samples/preserve-whitespaces/_config.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - options: { - preserveWhitespace: true - } -}; diff --git a/test/js/samples/preserve-whitespaces/expected.js b/test/js/samples/preserve-whitespaces/expected.js deleted file mode 100644 index 55e54995cc..0000000000 --- a/test/js/samples/preserve-whitespaces/expected.js +++ /dev/null @@ -1,92 +0,0 @@ -/* generated by Svelte vX.Y.Z */ -import { - SvelteComponent, - detach, - element, - init, - insert, - noop, - safe_not_equal, - text -} from "svelte/internal"; - -function create_fragment(ctx) { - let pre0; - let t3; - let div0; - let t7; - let div1; - - return { - c() { - pre0 = element("pre"); - - pre0.innerHTML = ` - A - B - - C - D - - E - F -`; - - t3 = text("\n\n"); - div0 = element("div"); - - div0.innerHTML = ` - A - B - - C - D - - E - F -`; - - t7 = text("\n\n"); - div1 = element("div"); - - div1.innerHTML = ` -
-    A
-    B
-    
-      C
-      D
-    
-    E
-    F
-  
-`; - }, - m(target, anchor) { - insert(target, pre0, anchor); - insert(target, t3, anchor); - insert(target, div0, anchor); - insert(target, t7, anchor); - insert(target, div1, anchor); - }, - p: noop, - i: noop, - o: noop, - d(detaching) { - if (detaching) detach(pre0); - if (detaching) detach(t3); - if (detaching) detach(div0); - if (detaching) detach(t7); - if (detaching) detach(div1); - } - }; -} - -class Component extends SvelteComponent { - constructor(options) { - super(); - init(this, options, null, create_fragment, safe_not_equal, {}); - } -} - -export default Component; diff --git a/test/runtime/samples/pre-tag/_config.js b/test/runtime/samples/pre-tag/_config.js new file mode 100644 index 0000000000..a2e8feb118 --- /dev/null +++ b/test/runtime/samples/pre-tag/_config.js @@ -0,0 +1,57 @@ +export default { + test({ assert, target }) { + // Test for
 tag
+		const elementPre = target.querySelector('#pre');
+		// Test for non 
 tag
+		const elementDiv = target.querySelector('#div');
+		// Test for 
 tag in non 
 tag
+		const elementDivWithPre = target.querySelector('#div-with-pre');
+
+		// There is a slight difference in innerHTML because there is a difference in HTML optimization (in jsdom)
+		// depending on how the innerHTML is set.
+		// (There is no difference in the display.)
+		// Reassign innerHTML to add the same optimizations to innerHTML.
+
+		// eslint-disable-next-line no-self-assign
+		elementPre.innerHTML = elementPre.innerHTML;
+		// eslint-disable-next-line no-self-assign
+		elementDiv.innerHTML = elementDiv.innerHTML;
+		// eslint-disable-next-line no-self-assign
+		elementDivWithPre.innerHTML = elementDivWithPre.innerHTML;
+
+		assert.equal(
+			elementPre.innerHTML,
+			`
+  A
+  B
+  
+    C
+    D
+  
+  E
+  F
+`
+		);
+		assert.equal(
+			elementDiv.innerHTML,
+			`A
+  B
+  C
+    D
+  E
+  F`
+		);
+		assert.equal(
+			elementDivWithPre.innerHTML,
+			`
    A
+    B
+    
+      C
+      D
+    
+    E
+    F
+  
` + ); + } +}; diff --git a/test/js/samples/preserve-whitespaces/input.svelte b/test/runtime/samples/pre-tag/main.svelte similarity index 78% rename from test/js/samples/preserve-whitespaces/input.svelte rename to test/runtime/samples/pre-tag/main.svelte index fb240817f7..ef603b9883 100644 --- a/test/js/samples/preserve-whitespaces/input.svelte +++ b/test/runtime/samples/pre-tag/main.svelte @@ -1,4 +1,4 @@ -
+
   A
   B
   
@@ -9,7 +9,7 @@
   F
 
-
+
A B @@ -20,7 +20,7 @@ F
-
+
     A
     B
diff --git a/test/runtime/samples/preserve-whitespaces/_config.js b/test/runtime/samples/preserve-whitespaces/_config.js
new file mode 100644
index 0000000000..e0c621a18b
--- /dev/null
+++ b/test/runtime/samples/preserve-whitespaces/_config.js
@@ -0,0 +1,66 @@
+export default {
+	compileOptions: {
+		preserveWhitespace: true
+	},
+	test({ assert, target }) {
+		// Test for 
 tag
+		const elementPre = target.querySelector('#pre');
+		// Test for non 
 tag
+		const elementDiv = target.querySelector('#div');
+		// Test for 
 tag in non 
 tag
+		const elementDivWithPre = target.querySelector('#div-with-pre');
+
+		// There is a slight difference in innerHTML because there is a difference in HTML optimization (in jsdom)
+		// depending on how the innerHTML is set.
+		// (There is no difference in the display.)
+		// Reassign innerHTML to add the same optimizations to innerHTML.
+
+		// eslint-disable-next-line no-self-assign
+		elementPre.innerHTML = elementPre.innerHTML;
+		// eslint-disable-next-line no-self-assign
+		elementDiv.innerHTML = elementDiv.innerHTML;
+		// eslint-disable-next-line no-self-assign
+		elementDivWithPre.innerHTML = elementDivWithPre.innerHTML;
+
+		assert.equal(
+			elementPre.innerHTML,
+			`
+  A
+  B
+  
+    C
+    D
+  
+  E
+  F
+`
+		);
+		assert.equal(
+			elementDiv.innerHTML,
+			`
+  A
+  B
+  
+    C
+    D
+  
+  E
+  F
+`
+		);
+		assert.equal(
+			elementDivWithPre.innerHTML,
+			`
+  
    A
+    B
+    
+      C
+      D
+    
+    E
+    F
+  
+` + ); + } +}; diff --git a/test/js/samples/pre-tag/input.svelte b/test/runtime/samples/preserve-whitespaces/main.svelte similarity index 78% rename from test/js/samples/pre-tag/input.svelte rename to test/runtime/samples/preserve-whitespaces/main.svelte index fb240817f7..ef603b9883 100644 --- a/test/js/samples/pre-tag/input.svelte +++ b/test/runtime/samples/preserve-whitespaces/main.svelte @@ -1,4 +1,4 @@ -
+
   A
   B
   
@@ -9,7 +9,7 @@
   F
 
-
+
A B @@ -20,7 +20,7 @@ F
-
+
     A
     B