i18n.spec.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. var test = require('tape')
  2. var chalk = require('chalk')
  3. var Driver = require('./Driver')
  4. var collectErrors = Driver.collectErrors
  5. module.exports = function (driver, platform, host) {
  6. var testName = 'i18n: make sure Uppy loads with Russian language pack '
  7. var platformName = chalk.underline.yellow('[' +
  8. platform.os + ' ' +
  9. platform.browser + ' ' +
  10. platform.version +
  11. ']')
  12. test(testName + ' ' + platformName, function (t) {
  13. t.plan(1)
  14. function findLabelTextElement () {
  15. return driver.findElements({css: '.UppyDragDrop-label'}).then(function (result) {
  16. return result[0]
  17. })
  18. }
  19. driver.get(host + '/examples/i18n')
  20. driver.manage().window().maximize()
  21. // Set Saucelabs test name
  22. driver.executeScript('sauce:job-name=' + testName).catch(function (err) {
  23. console.log('local test, so this is ok: ' + err)
  24. })
  25. driver.wait(findLabelTextElement, 8000, 'Uppy should load within 8 seconds')
  26. .then(function (element) {
  27. element.getText().then(function (value) {
  28. collectErrors(driver).then(function () {
  29. // why trim? Microsoft Edge
  30. // not ok 4 should be equal
  31. // ---
  32. // operator: equal
  33. // expected: 'Выберите файл или перенесите его сюда'
  34. // actual: 'Выберите файл или перенесите его сюда '
  35. t.equal(value.trim(), 'Выберите файл или перенесите его сюда')
  36. driver.quit()
  37. })
  38. })
  39. })
  40. .catch(function (err) {
  41. collectErrors(driver).then(function () {
  42. t.fail(err)
  43. driver.quit()
  44. })
  45. })
  46. })
  47. }