Sinon: рдЕрдиреНрдпрдерд╛ 2.0 рд░рд┐рд▓реАрдЬ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЬрдире░ 2016  ┬╖  33рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sinonjs/sinon

рд╕рд┐рдиреЙрди рдХреЗ 2.0 рд░рд┐рд▓реАрдЬрд╝ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

@mantoni @fatso83 @cjohansen рдпрд╣рд╛рдВ рдХреБрдЫ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд╛рд░реНрдп рджрд┐рдП рдЧрдП рд╣реИрдВ; рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдпрд╛ рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рд╕рд╛рде рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ 2.0 рднреЗрдЬ рд╕рдХреЗрдВ: рд░реЙрдХреЗрдЯ:

рдХреЙрдордирдЬреЗрдПрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди

  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ sinon.spy #920
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ sinon.stub #932
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ sinon.mock #933
  • [x] рдирдХрд▓реА_рд╕рд░реНрд╡рд░ рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ (#934, useFakeXMLHttpRequest рдЕрднреА рднреА рд╕рдВрджрд░реНрднрд┐рдд рд╣реИ, рджреЗрдЦреЗрдВ #1118)
  • [x] sinon.sandbox рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ (#936 рдореЗрдВ рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХрд╛ рдереЛрдХ) #1088
  • [x] sinon.format рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ (рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХрд╕рдХрд░ рдпреБрдЧреНрдорд┐рдд) #967
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ sinon.collection #1084

рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреЙрдордирдЬреЗрдПрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди

  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ assert рд╕реБрдЗрдЯ #1078
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ call рд╕реБрдЗрдЯ #1079
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ collection рд╕реБрдЗрдЯ #1084
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ extend рд╕реБрдЗрдЯ #1085
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ match рд╕реБрдЗрдЯ #1086
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ mock рд╕реБрдЗрдЯ #1087
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ sandbox рд╕реБрдЗрдЯ #1088
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ spy рд╕реБрдЗрдЯ #1001
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ stub рд╕реБрдЗрдЯ #1001
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ typeOf рд╕реБрдЗрдЯ #1085
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ util/core рд╕реБрдЗрдЯреНрд╕ #998, #1081
  • [x] util/event рд╕реБрдЗрдЯ #1115 . рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ util/fake-timers рд╕реБрдЗрдЯ #1116
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ util/fake-server рд╕реБрдЗрдЯ #1118
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ util/fake-server-with-clock рд╕реБрдЗрдЯ #1118
  • [x] util/fake-xdomain-request рд╕реБрдЗрдЯ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ
  • [x] рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ util/fake-xml-http-request рд╕реБрдЗрдЯ #1125

рд╕рдлрд╛рдИ рдХрд╛рд░реНрдп

  • [x] test/sinon-test.js рд╕реБрдЗрдЯ рдХреЛ рддреЛрдбрд╝реЗрдВ #968
  • [x] sinon.config рдЙрдкрдпреЛрдЧ рдирд┐рдХрд╛рд▓реЗрдВ (рдирд┐рд░реНрдгрдп: #936 ред #973 рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] sinon.logError рдФрд░ sinon.log рдирд┐рдХрд╛рд▓реЗрдВ [#972]
  • [x] рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ CommonJS рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдХреЛрдИ рдФрд░ sinon рд╡реИрд╢реНрд╡рд┐рдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ, рд╣рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рд╕реЗ рдЖрдВрддрд░рд┐рдХ рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ) #996
  • [x] рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ API 1.17 -> 2.0 рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рд╕рд▓рд╛рд╣ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред #1090

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди

_ ? рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ_

  • [x] sinon.test рдФрд░ sinon.testCase рдХреЛ рдЙрдирдХреЗ рдЕрдкрдиреЗ NPM рдореЙрдбреНрдпреВрд▓ ( sinon-test ) sinonjs/sinon-test#1 рдФрд░ #973 рдореЗрдВ рдирд┐рдХрд╛рд▓реЗрдВ
  • [x] рдЖрдВрддрд░рд┐рдХ рдХреЛрд░ рдмрд░реНрддрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдмрд╣рд┐рд╖реНрдХрд╛рд░ рдХрд░реЗрдВ (#1090 рджреЗрдЦреЗрдВ)
  • [x] sinon.extend рдЖрдВрддрд░рд┐рдХ рдХрд░реЗрдВ (рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬреЛ рд╕рд┐рдиреЙрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ) #1235
  • [x] sinon.typeOf рдЖрдВрддрд░рд┐рдХ рдХрд░реЗрдВ (рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬреЛ рд╕рд┐рдиреЙрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ) #1235
  • [x] рд▓реАрдЧреЗрд╕реА IE рд╕рдкреЛрд░реНрдЯ / рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдирд┐рдХрд╛рд▓реЗрдВ?
  • [x] рд░рд┐рдлреИрдХреНрдЯрд░ util/fake_server.js рддрд╛рдХрд┐ sinon рд╡реИрд╢реНрд╡рд┐рдХ . рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ

рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░

  • sinon.mock рдХреЛ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ ( sinon-mock ) рдореЗрдВ рдирд┐рдХрд╛рд▓реЗрдВ (рдирд┐рд░реНрдгрдп: #745)ред 3.0 . рддрдХ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛

рдирдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рд╛рдЗрдЯ

  • [ ] рдПрдХ рдирдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рд╛рдЗрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ, рд╢реЗрд╖ рдХрд╛рд░реНрдп рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП #1220 рджреЗрдЦреЗрдВред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm install sinon-test рдФрд░ var sinonTest = require('sinon-test')(config); рдЬреИрд╕рд╛ рдХреБрдЫ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рднреА 33 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

/docs рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрдВ рдПрдХ рдирдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдЕрдкрдиреА рдЫреБрдЯреНрдЯреА рдХреЗ рджреМрд░рд╛рди рдЙрд╕ рдкрд░ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@mroderick рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ рдХрд╛рдо рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рдбреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдБ!

рдЪреЗрдХрдмреЙрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдорд╛рдЗрдЧреНрд░реЗрдЯ sinon.sandbox" рдХреЛ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдкреАрдЖрд░ рдмрдВрдж рд╣реИред

@jonnyreeves : рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ sinon.test рдХреНрдпреЛрдВ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдмрдирд╛рдП рдЧрдП рд╕реНрдЯрдмреНрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рд╕реВрд╕реА рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ beforeEach рдФрд░ afterEach рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд░рд╛рд╣рдд рджреЗрддрд╛ рд╣реИред рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ (рдмреЗрд╣рддрд░) рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдореИрдВрдиреЗ рдХрднреА рднреА sinon.testCase рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЗрд╕рдХрд╛ рдПрдкреАрдЖрдИ рдмрд╕реНрдЯрд░рдЬреЗрдПрд╕ (рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИ) рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдФрд░ рдореЛрдЪрд╛ рдирд╣реАрдВ (рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░реНрдп рд╣реИ )

@ fatso83 рдореЗрд░реЗ рдкрд╛рд╕ sinon.test рд╕рд╛рде рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ sinon.config рд╕рд┐рдВрдЧрд▓рдЯрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред IMHO рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг-рдврд╛рдВрдЪреЗ рдХреЗ beofreEach рдФрд░ afterEach рд╣реБрдХ рдореЗрдВ рдПрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛рдХрд░ (рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд) рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рд╣рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдореЗрдВ sinon.test (рдФрд░ sinon.testCase ) рд░рдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ; рддреЛ рд╣рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рд╕рд┐рдиреЙрди рдХрд╛ рд╕рдорд░реНрдерди, рдореИрдВ рдЙрдирдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╣реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ - рд╣рдореЗрдВ рд╕рд╣рдорддрд┐ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП?

@jonnyreeves рдареАрдХ рд╣реИ, рдЬрдм рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рддреЛ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ sinon.config ред IMHO рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛рдирд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдареАрдХ рд╣реИ рдЬрдм рддрдХ рд╣рдо рдЗрд╕реЗ рд╕рд┐рдиреЙрди 1 рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкреВрд░реНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ sinon.test рдХреНрдпрд╛ рд╣реБрдЖред рддреЛ doucmentation рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП

sinon.test

_рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 2 рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреЗрдЦреЗрдВ link to sandbox ._

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 2 рдореЗрдВ рдПрдХ рджреБрдмрд▓рд╛ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП typeOf , extends рдФрд░ sinon.test* рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЕрдиреНрдп рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдЕрдиреНрдп рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рд╕реЗрд╡рд╛ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm install sinon-test рдФрд░ var sinonTest = require('sinon-test')(config); рдЬреИрд╕рд╛ рдХреБрдЫ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

:+1: рдЗрд╕ рддрд░рд╣ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ npm рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред core рдореЗрдВ рдХрдо рдХреЛрдб

рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж; рдореИрдВрдиреЗ рдЕрдм рддрдХ рдХреА рдЪрд░реНрдЪрд╛ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд╡реНрдпреВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛), рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдкрд░ рд╕рдорд╛рди рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • sinon.log рдФрд░ sinon.logError рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ (рджреЛрдиреЛрдВ рдирдХрд▓реА_рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ; рдФрд░ рд╢рд╛рдпрдж рдЙрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)
  • 2.0 . рд╕реЗ sinon.mock рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВрдиреЗ рдХрднреА рднреА sinon.testCase рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ sinon.test рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рдпрд╣ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП: рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ beforeEach рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ (рдЬреИрд╕реЗ рдЯреЗрдк) рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд┐ рдпреЗ рд╕реЗрдЯрдЕрдк рдХрд╛рд░реНрдп рдпреБрдЧреНрдорд┐рдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

sinon.test = require('sinon-test');

@ рдордВрдЯреЛрдиреА : рдмрдврд╝рд┐рдпрд╛ рд╕реБрдЭрд╛рд╡ред рдХреЗрд╡рд▓ рдЕрдм рдЕрдкреНрд░рдпреБрдХреНрдд test рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдХреЗ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрди рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдХрдо рд╕реЗ рдХрдо рдкрд░реЗрд╢рд╛рдиреА рджреЗрддрд╛ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ sinon рд╡рд╕реНрддреБ рдЬрдореА рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕реЗ Object.freeze(sinon) ) ...

@jonnyreeves : sinon.mock рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ @mroderick рдиреЗ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 2.0 рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 2.0 рд░рд┐рд▓реАрдЬ рдЖрдИрдПрдордПрдЪрдУ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдареАрдХ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдордирдЬреЗрдПрд╕ рд╕рдорд░реНрдерди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ 2.0 рд░рд┐рд▓реАрдЬ _if_ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реЛрдЧреА, рд╣рдордиреЗ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рд╣реИред рддрдм рд▓реЛрдЧ рдХреЗрд╡рд▓ let sinon.mock = require('sinon-mock') , рдпрджрд┐ рд╡реЗ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реЛрдВред

рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ sinon.log* , рдореБрдЭреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрди рдкрд░ рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдпрджрд┐ рд╣рдо рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкреВрд░реНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

WRT рдПрдХ sinon-test рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЕрд░реНрдерд╛рдд:

sinon.test = require('sinon-test').withConfig({ ... });

рдпрд╛ рдЗрд╕реА рдХреЗ рд╕рдорд╛рдиред

sinon-test рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╕рдордп рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд API рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦрд╛; sinon.assert рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рдлрд┐рд░ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд┐рдиреЙрди рдПрдкреАрдЖрдИ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ sinon-test рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде sinon.test рдФрд░ sinon.testCase рд╕рд╛рде рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

@ fatso83 @mantoni @cjohansen; рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ sinon-test рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдирд┐рд░реНрдорд╛рдг рд╣реИ - рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдЦрд╛рд▓реА рдЧрд┐рдЯ рд░реЗрдкреЛ рдХреЛ sinonjs/sinon-test рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреАрдЖрд░ рдмрдврд╝рд╛ рд╕рдХреВрдВ?

рдзрдиреНрдпрд╡рд╛рдж

рдпрд╣ рдЬрд▓реНрджреА рдерд╛! https://github.com/sinonjs/sinon-test

@cjohansen рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрдирд╕рдВрдкрд░реНрдХ рдирд╣реАрдВ рдмрдврд╝рд╛ рд╕рдХрддрд╛ред

рдХрд┐рдпрд╛ рд╣реБрдЖ

рдзрдиреНрдпрд╡рд╛рдж, рдкреАрдЖрд░ рдЙрдард╛рдпрд╛ - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ: https://github.com/sinonjs/sinon-test/pull/1

@mroderick рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ рдХрд╛рдо рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рдбреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдБ!

@spinningarrow рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд╛рдХреА рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЕрд▓рдЧ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП #991 рдмрдирд╛рдпрд╛ рд╣реИред рдореИрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рджрд┐рдиреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдореЙрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдордп-рд╕рдордп рдкрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВред рдЕрдм рдЬрдм @jonnyreeves рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд░реЗрдкреЛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛? рддрдм рд╣рдо рдХреЗрд╡рд▓ рдирдХрд▓реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗ, рдФрд░ рдореБрджреНрджреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рдереЗред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдореЙрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдордп-рд╕рдордп рдкрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВред рдЕрдм рдЬрдм @jonnyreeves рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд░реЗрдкреЛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛? рддрдм рд╣рдо рдХреЗрд╡рд▓ рдирдХрд▓реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗ, рдФрд░ рдореБрджреНрджреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рдереЗред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рдмреЛрдЭ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдЙрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рджреЗрд╡ рдЯреВрд▓реНрд╕ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХ рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рд╢рд╛рд╕рди рдХрд╛ рдмреЛрдЭред
рд╢рд╛рдпрдж рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рдЖрд╕рд╛рди рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рджреЗрд╡ рдЙрдкрдХрд░рдг рд╣реИрдВ? cc: @mantoni

@mroderick @fatso83 рдареАрдХ рд╣реИ, рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо 2.0 рдХреЛ рджрд░рд╡рд╛рдЬреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рд╕рднреА рдмрдХрд╛рдпрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдорд╛рдирддрд╛ рд╣реВрдВ (рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ CJSification рд╕рд╣рд┐рдд) - рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  1. рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ( sinon. ) рдПрдкреАрдЖрдИ рд╕реЗ typeOf рдФрд░ extend рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдЗрд╕реЗ рд╕рд┐рдиреЙрди 3.x рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдПрдкреАрдЖрдИ рдХреЗ рдЖрдзреБрдирд┐рдХреАрдХрд░рдг рд╕реЗ рдЧреБрдЬрд░реЗрдЧрд╛ред .
  2. рдХреНрдпрд╛ рд╣рдореЗрдВ 2.0 рд╕реЗ рд╡рд┐рд░рд╛рд╕рддреА IE рд╕рдорд░реНрдерди/рд╣реИрдХреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ _may_ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо 'fakeXDM' рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ - рдореИрдВрдиреЗ рдХрд░реАрдм рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕ рдХрд╛рдо рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ред
  3. рдХреНрдпрд╛ рдирдИ рдбреЙрдХреНрд╕ рд╕рд╛рдЗрдЯ рдХреА рд╢рд┐рдкрд┐рдВрдЧ 2.0 рд░рд┐рд▓реАрдЬрд╝ рдХреА рдПрдХ рд╢рд░реНрдд рд╣реИ? рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд░реНрд╖рдг рдирд╣реАрдВ рд╣реИ :)

рд╕рдмрдХреЛ рд╢реБрдХреНрд░реАрдпрд╛ред

@jonnyreeves : рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдЬ рд░рд╛рдд рдПрдХ рд╡реНрдпрд╕реНрдд рдордзреБрдордХреНрдЦреА рд░рд╣реЗ рд╣реИрдВред рдореЗрд░реЗ рдЖрдЧреЗ рдПрдХ рд▓рдВрдмреА рдЫреБрдЯреНрдЯреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд╡рд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдиреАрдЪреЗ рдПрдХ "рд▓реЗрдХрд┐рди" рд╣реИ)ред

рдЖрдкрдХреЗ рдЕрдВрдХ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ:

  1. рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдерд╛ (рд░реЗрдлрд░реА, рдКрдкрд░ рдХрд╛ рдЕрд╡рд▓реЛрдХрди)ред
  2. рдЖрдЗрдП рдкрд╣рд▓реЗ "рд╡рд┐рд░рд╛рд╕рдд рдЖрдИрдИ" рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рд╕рдВрд╕реНрдХрд░рдг <10, рдпрд╛ рд╕рдВрдкреВрд░реНрдг sinon-ie рдкреИрдХреЗрдЬ? IE9 рдЕрднреА рднреА XDR рдирд╛рдордХ рдХреБрдЫ рдЕрдЬреАрдм CORS рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╢рд┐рдкрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдЧрд░ рдХреЛрдИ рдЕрднреА рднреА 2012 рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдЖрдИрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддрд╛ рд╣реИ рддреЛ рд╡реЗ рд╣рдореЗрд╢рд╛ 1.x рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХреНрд╕рдбреАрдПрдо рджреНрд╡рд╛рд░рд╛ рдХреНрдпрд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП sinon-ie рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрдордмрд╛рд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  3. рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг _is_ рдЕрднреА рдПрдХ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдереЛрдбрд╝рд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд╣рдирд╛ рд╣реИред рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ #991 рдореЗрдВ рдЦреБрджрд╛рдИ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдбреЙрдХреНрд╕ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рд╣реЛрдиреЗ рд╕реЗ рдЬреАрд╡рди рдмреЗрд╣рддрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЬрд┐рдЬреНрдЮрд╛рд╕реБрдГ рдЗрд╕ рдкрд░ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ? рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ ~6mo рдкрд╣рд▓реЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдмрд╣реБрдд рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ; рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реВрдВ (рдкреНрд░рддреАрдХ рдХрд╛ рд╕рдорд░реНрдерди рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ) - рдореЗрд░рд╛ рдорддрд▓рдм рдзрдХреНрдХрд╛ рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд░рд▓ 'рдПрдХ рд╣реИрд╕рдордпрд░реЗрдЦрд╛' / 'рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдордпрд░реЗрдЦрд╛ рдирд╣реАрдВ рд╣реИ' рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛! <3

@ELLIOTTCABLE рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрдВрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкреНрд░рдЧрддрд┐ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдиреБрд░рдХреНрд╖рдХ рд╕рдореВрд╣ рдореЗрдВ - рдпрд╛ рдЕрдиреНрдп рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ - рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд╣реИред рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдЙрдард╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕реНрд╡рдпрдВ "рд╕реНрдерд┐рддрд┐" рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ :

  1. рднрд▓реЗ рд╣реА рдЖрдк рдКрдкрд░ "... 8 рдЬреБрд▓рд╛рдИ 2016 рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд" рджреЗрдЦреЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдЙрд╕ рддрд╛рд░реАрдЦ рдХреА рд╣реИред рдирд╡реАрдирддрдо рдЕрдВрдХ, #1235, рдиреЗ рдЗрд╕реЗ "12 рджрд┐рди рдкрд╣рд▓реЗ" рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ред
  2. рдореБрджреНрджреЛрдВ рдХреА рд╕реВрдЪреА рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд╣реИ - рдЖрдзреЗ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдкрд░реАрддред

рддреЛ ... рд╣рдо рдХрд╣реАрдВ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрдЧ рдлрд┐рдХреНрд╕ рдХреА рджреЗрдЦрд░реЗрдЦ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдирд┐рд░рдВрддрд░ рдЖрдкреВрд░реНрддрд┐, рд╣рдорд╛рд░реЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмрд╣реБрдд рд╕рдордп рдХреЛ рдЪреВрд╕рддреА рд╣реИред рдмрд╕ рдЗрд╕ рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдЖрдзрд╛ рдШрдВрдЯрд╛ рд▓рдЧ рдЧрдпрд╛

рдореВрд▓ рд░реВрдк рд╕реЗ, рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ рджреЛ рдореБрдЦреНрдп рдореБрджреНрджреЗ рд░рд╣ рдЬрд╛рддреЗ рд╣реИрдВ:

  • "рдирдХрд▓реА_рд╕рд░реНрд╡рд░ рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ" (90% рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ рдмрдЪрд╛ рд╣реИ - рдКрдкрд░ рджреЗрдЦреЗрдВ)ред
  • рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ (рджреЗрдЦреЗрдВ #1220: рдПрдХ рдЫреЛрдЯреА рд╕реА, рдЕрддрд┐-рдЖрд╕рд╛рди рдЪреАрдЬ рдФрд░ рдПрдХ рдордзреНрдпрдо рдХрд╛рд░реНрдп рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдЕрдирдХреНрд▓реЛрдЬрд╝ рдЪреЗрдХрдорд╛рд░реНрдХ рдкреБрд░рд╛рдиреЗ IE рд░рд┐рд▓реАрдЬрд╝ (6-10) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЬреЛ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ # 1221 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред

@ sinonjs/sinon-core: рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдореБрдЭреЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдпрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдКрдкрд░ рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо # 1221 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ:

  1. рд▓реАрдЧреЗрд╕реА IE рд╕рдорд░реНрдерди / рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓реЗрдВ?
  2. рдлрд┐рдХреНрд╕рд┐рдВрдЧ xdomain

рдкрд░рд╡рд╛рд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рд╡рд┐рд░рд╛рд╕рдд рдЖрдИрдИ рдмрд┐рдЯреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирд╛рддрд╛ рд╣реВрдВ рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ xdomain рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рднреВрдорд┐ рднрд░рдиреЗ рдореЗрдВ рднреА рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдЖрдИрдИ-рдХреЗрд╡рд▓ рд╕реАрдУрдЖрд░рдПрд╕-рд╕рдорд╛рди рд╣реИрдХ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

@ fatso83 рдЖрд╣ , рдХреЗред рдореИрдВ рд╕рдВрджрд░реНрднрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рдЕрджреНрдпрддрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛!

рдЕрд╕рдВрдмрдВрдзрд┐рдд: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ IE6 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдмрджрдХрд┐рд╕реНрдорддреА рд╕реЗред рдЖрд╣ рдареАрдХ рд╣реИ, рд╕реЗрд╕реНрдЯ рд▓рд╛ рдорд╛рд░реНрдЪреЗ рдбреВ рдкреНрд░реЛрдЧреНрд░реЗрд╕! /=

рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рд╣реИрдВ, рдбреЙрдХреНрд╕ рд╕рд╛рдЗрдЯ рдХреА рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЕрд░реЗ рдЪреИрдкреНрд╕ - рдХреБрдЫ рднреА рд╣рдореЗрдВ 2.0 рдХреЛ "рд╕реНрдерд┐рд░" рд╕рд┐рдиреЙрди рд░рд┐рд▓реАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдФрд░ 1.x рдХреЛ рдорд╛рд░рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? :)

рд╕реЛрдЪреЗрдВ рдХрд┐ рд╣рдо рдЖрдЦрд┐рд░реА рдЪреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ #1297 рдЪрд╛рд╣рддреЗ рдереЗред

рдЙрд╕ рдкрд░ рдИрдЯреАрдП? рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЬрд╣рд╛рдЬ рдирд╣реАрдВ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрд╕ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреБрдо рд▓реЛрдЧ рд╕реБрдВрджрд░ рд╣реЛред <3

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

fearphage picture fearphage  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brettz9 picture brettz9  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sudhirbits picture sudhirbits  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

andys8 picture andys8  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ALeschinsky picture ALeschinsky  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ