This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Issue 840 - Fix proptypes & syntax highlighting, and improve tests - #841

Merged
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests
Oct 20, 2020
Merged

Issue 840 - Fix proptypes & syntax highlighting, and improve tests#841
Marc-Andre-Rivet merged 14 commits into
devfrom
840-tests

Conversation

@Marc-Andre-Rivet

@Marc-Andre-RivetMarc-Andre-Rivet commented Oct 19, 2020

Copy link
Copy Markdown
Contributor

Closes#840

  • adds log checks for all table tests
  • standardizes tests/integration tests with tests/selenium tests using the newer fixture / pattern
  • removes python-3.6 CI job (to be removed on approval) and percy/dash-table-python-v0 (those two visual tests have been flaky since forever and never uncovered a bug anyway)

As part of improving the tests, found an additional regression breaking highlight.js after #814 -- this does not affect dcc as it uses 9.x and the usage there is correct.

@Marc-Andre-Rivet
Marc-Andre-Rivet marked this pull request as ready for review October 19, 2020 23:01
@alexcjohnson

Copy link
Copy Markdown
Collaborator

Removing Py3.6 tests - interesting... I guess there's an argument that components only need to test with the latest Python, as they have no independent Python code, and in the main dash repo we create test components and test them against multiple Python versions, verifying that the generated code will all work across versions.

That said table has some Python helper functions for formatting, which it would be nice to test will work across versions. On the other hand how much longer are we even going to support Py2, which would be the main reason for such a test?

So in the end I'd say yeah, this is fine.

@@ -1,4 +1,4 @@
import highlightjs from 'highlight.js/lib/highlight';
import highlightjs from 'highlight.js/lib/core';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to upgrade highlight in DCC too while this is front of mind?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. And if tacking that on, might as well add Julia support.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


assert target.cell(1, 0).get_text() == "0"
assert target.cell(1, 1).get_text() == "MODIFIED"
assert len(test.get_log_errors()) == 0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
assertlen(test.get_log_errors())==0
asserttest.get_log_errors() ==[]

That way if it fails you see what the error was

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point 9e80289

Comment threadtests/selenium/test_markdown_copy_paste.py

@alexcjohnsonalexcjohnson left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one nonblocking suggestion for cleaner error handling. 💃

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Oct 20, 2020

Copy link
Copy Markdown
ContributorAuthor

For #841 (comment) - the formatter tests are currently run with the unit tests, on py37 only. The py36 tests are a misnomer as all that job really did was (1) load two apps with table/graph and take a screenshot of them, (2) run some export tests. Tests in (1) don't really test anything, tests in (2) were moved with the other e2e tests.

@Marc-Andre-RivetMarc-Andre-Rivet changed the title Issue 840 - Fix proptypes and improve testsIssue 840 - Fix proptypes & syntax highlighting, and improve testsOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet merged commit 570fbd9 into devOct 20, 2020
@Marc-Andre-Rivet
Marc-Andre-Rivet deleted the 840-tests branch October 20, 2020 15:08
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bad prop-type definition causing console errors

2 participants

@Marc-Andre-Rivet@alexcjohnson